Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

bucs

Новачок
  
  • Публікації

    1
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем bucs

  1. Версия магазина: ocStore v1.5.5.1.1
    Изменения не вносились.
    Хостинг OpenServer, Inferno solutions VPS.

    Проблема:
    Редактирование товара - Связи - Показывать в категориях.

    Если было указано несколько категорий, то при редактировании галочка будет стоять только на последней из них.

     

    Причина:

    /admin/view/template/catalog/product_form.tpl

     

    Шаг 1, при обработке главной категории, происходит замена основного массива:

    foreach ($product_categories as $product_categories) ...

     

    Шаг 2, формируется список категорий по конечному массиву, который был заменен:

    if (in_array($category['category_id'], $product_categories)

     

    Интересно, что даже если поправить шаг 1, то корректно работать все равно не будет, так как $product_categories - многомерный массив, и поиск в нем значений $category['category_id'] ничего не даст.

     

    Пример решения:

    Перед шагом 1 обьявляем вспомогательный массив, скажем $cts = array();

     

    Цикл на всякий случай меняем на: foreach ($product_categories as $product_categorie) ..., и соответственно переменные $product_categories внутри цикла на $product_categorie.

     

    Далее в конце цикла наполняем массив значениями: $cts[] = $product_categorie['category_id'];

     

    В шаге 2 осуществляем поиск по уже новому массиву с корректными значениями:

    if (in_array($category['category_id'],  $cts)

     

    Вот собственно и все, может кому полезно будет.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.