Opencart — Слетают Категории После Редактирования Товара — Решение Проблемы

Тема в разделе "Общие вопросы", создана пользователем admin, 17 июн 2016.

  1. TopicStarter Overlay
    Offline

    admin Команда форума Администратор

    Сообщения:
    2.328
    Симпатии:
    77.316
    Репутация:
    170
    В версии 1.5.5.1 предостаточно багов, сегодня мы затронем один из них — после редактирования уже существующего товара полностью слетают чекбоксы «Показать в категориях». К примеру нам понадобилось внести какое-то изменение в описание товара или изменить его стоимость, эти изменения мы вносим во вкладках «Данные» и «Общие», а вот во вкладке «Связи», в пункте «Показывать в категориях», после того, как мы открыли товар для редактирования, полностью обнулились внесенные нами ранее данные.
    pokazyvat-v-kategoriyah.jpg

    • Чтобы изменить ситуацию необходимо открыть файл admin\view\template\catalog\product_form.tpl и найти строки (приблизительно 256-260):

    Код:
    <?phpforeach($product_categoriesas$product_categories){?>
    <?phpif($product_categories['category_id']==$main_category_id){?>
    <option value="<?phpecho$product_categories['category_id'];?>"selected="selected"><?phpecho$product_categories['name'];?></option>
    <?php}else{?>
    <option value="<?phpecho$product_categories['category_id'];?>"><?phpecho$product_categories['name'];?></option>
    и меняем его на следующий код:

    Код:
    <?phpforeach($product_categoriesas$product_category){?>
    <?phpif($product_category['category_id']==$main_category_id){?>
    <option value="<?phpecho$product_category['category_id'];?>"selected="selected"><?phpecho$product_category['name'];?></option>
    <?php}else{?>
    <option value="<?phpecho$product_category['category_id'];?>"><?phpecho$product_category['name'];?></option>
    • Еще немного ниже находим строку (приблизительно 273):

    Код:
    <?phpif(in_array($category['category_id'],$product_categories)){?>
    и изменим ее на

    Код:
    <?phpif(in_array(array('category_id'=>$category['category_id'],'name'=>$category['name']),$product_categories)){?>
    Сохраняем внесенные изменения и тестируем редактирование товара в админке — теперь чекбоксы в «Показать в категориях» остаются заполненными.