В версии 1.5.5.1 предостаточно багов, сегодня мы затронем один из них — после редактирования уже существующего товара полностью слетают чекбоксы «Показать в категориях». К примеру нам понадобилось внести какое-то изменение в описание товара или изменить его стоимость, эти изменения мы вносим во вкладках «Данные» и «Общие», а вот во вкладке «Связи», в пункте «Показывать в категориях», после того, как мы открыли товар для редактирования, полностью обнулились внесенные нами ранее данные.
Чтобы изменить ситуацию необходимо открыть файлadmin\view\template\catalog\product_form.tpl и найти строки (приблизительно 256-260):
<?php foreach ($product_categories as $product_categories) { ?> <?php if ($product_categories['category_id'] == $main_category_id) { ?> <option value="<?php echo $product_categories['category_id']; ?>" selected="selected"><?php echo $product_categories['name']; ?></option> <?php } else { ?> <option value="<?php echo $product_categories['category_id']; ?>"><?php echo $product_categories['name']; ?></option>
и меняем его на следующий код:
<?php foreach ($product_categories as $product_category) { ?> <?php if ($product_category['category_id'] == $main_category_id) { ?> <option value="<?php echo $product_category['category_id']; ?>" selected="selected"><?php echo $product_category['name']; ?></option> <?php } else { ?> <option value="<?php echo $product_category['category_id']; ?>"><?php echo $product_category['name']; ?></option>
Еще немного ниже находим строку (приблизительно 273):
<?php if (in_array($category['category_id'], $product_categories)) { ?>
и изменим ее на
<?php if (in_array(array('category_id' => $category['category_id'], 'name' => $category['name']), $product_categories)) { ?>
Сохраняем внесенные изменения и тестируем редактирование товара в админке — теперь чекбоксы в «Показать в категориях» остаются заполненными.