Вывод в теме
Обновлено
Автоматическая подмена
Плагин регистрирует обработчик frontendProducts для события Shop-Script frontend_products. В обычном выводе, который вызывает это событие, вставлять отдельный вызов плагина в тему не требуется.
Обработчик работает, когда:
- параметр маршрута
actionравенcategory; - в событие передан непустой массив
products; - для товара и текущей категории сохранён вариант названия.
Плагин меняет поле name у соответствующего элемента массива товаров. Если записи для пары товара и категории нет, переданное имя остаётся прежним.
Как определяется категория
Сначала используется параметр маршрута category_id. Если он равен null, плагин ищет категорию по category_url: при url_type = 0 — по full_url, в остальных случаях — по url.
Если по этому адресу найдено больше одной категории, обработчик прекращает работу без подмены. Это условие стоит проверить при одинаковых адресах категорий в собственном маршруте.
Вывод имени в Smarty
Если список уже прошёл через событие frontend_products, используйте его обычное поле name. Например, внутри существующего цикла, где текущий товар находится в переменной $product:
{$product.name|escape}Этот фрагмент только выводит имя из массива. Он сам не вызывает событие и не подгружает варианты названий.
У плагина нет собственного публичного хелпера для получения имени в шаблоне и нет шаблонов витрины для переопределения.
Если тема получает товары самостоятельно
Проверьте, что используемый способ получения списка вызывает frontend_products и что шаблон печатает поле name из обработанного массива. Прямой запрос к базе или отдельный источник названий не получает подмену автоматически.
Условие проверяется по странице, а не по назначению блока: другой список товаров на странице категории тоже может получить подмену, если проходит через это событие и содержит товары с вариантами для текущей категории. На странице поиска, отдельного товара и других страницах с action, отличным от category, этот обработчик названия не меняет.