В products.php 121 строка, есть проверка
empty($product[‘category_ids’][Tygh::$app[‘session’][‘current_category_id’]]))
которая срабатывает ложно, так как в product[‘category_ids’] приходят категории с ключами по порядку (0,1,2,3), а проверка идет как раз по этим ключам. Чтобы срабатывало верно либо ключи должны приходить равные id категорий либо должна быть такая проверка
!in_array($product[‘category_ids’],Tygh::$app[‘session’][‘current_category_id’])).
Все это приводит к тому, что у товара в хлебных крошках высвечивается неправильная родительская категория, если на товар прошли не из его категории (и у категории id меньше чем кол-во категорий у товара)
Создать несколько категорий (например 10).
Создать товара и присвоить ему 5 последних категорий (с id больше 5)
Отредактировать страницу какой либо категории у которых id меньше 5, и добавить туда товар как угодно хоть прямой ссылкой.
Пройти по товару, в хлебных крошках будет категория с которой мы прошли, хотя этой категории нет у товара.
Исходя из кода видно, что проверка рандомная.
Получается в проверке проверяется есть ли в массиве ключей category_ids ид текущей категории из сессии. Хотя ключи этого массива просто идут по порядку (0,1,2,3,4). То есть проверка сработает если в данный момент в сессии current_category_id = 3, но если у товара будет меньше категорий то не сработает.
И также в той теме вы приводите примеры с категориями, которые есть у товара. А тут проверка сработает и с переходом из категории, которой у товара нет. И в крошках будет категория, который у товара нет.
Х.з., но мне думается, что даже если проверка будет правильной, работать как надо оно не будет.
Скорее всего необходимости в таком примере не было, т.к. решение подсказали раньше. В любом случае крошки на основе сессий лучше выпилить, они сделаны вообще неправильно каким то вредителем.
Проблему воспроизвела. Однако, как вы и указали, она воспроизводится для категорий с маленьким ID. То есть такая проблема может возникнуть в установках, которые устанавливали без демо данных. Если cs-cart устанавливали изначально с демо данными, ID категорий начинаются где-то с 165. Поэтому в таких установках проблема не актуальна.
Информацию передала разработчикам.
Большое обновление CS-Cart уже здесь
Попробуйте новую панель администратора с темной темой