Версия магазина: 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)
Вот собственно и все, может кому полезно бугдет.