Добрый день, я решил модифицировать отображение крошек на страницах категорий.
Изменениями в ядре (контроллере categories) я добился результата, но хочу окультурить и вынести все в модуль. Столкнулся с тем что pre и post вариант не подходит, поскольку в таком случае крошки продублируются, а хуков в контроллере нет что бы модифицировать через свой модуль.
Суть модфикации в том что я передаю свои необходимые ИД категорий в переменную category_parent_ids на 80 строчке categories.php
Подскажите такого рода модификацию можно вынести? Или может можно перехватить данные в другом месте?
Ваш вариант возможен, но данная функция перебирается, что заставит функцию каждый раз обращаться к БД и запрашивать у неё список категорий столько раз, столько вложеностей.
У меня сейчас работает так
перехватываю category_parent_ids
делаю запрос в БД - > ответ масив категорий которые я хочу скрыть
отдаю category_parent_ids без категорий что пришли в ответе.
А прийдется сделать так (подключив хук к add_breadcrumb)
category_parent_ids перебираясь по одной будет попадать в fn_add_breadcrumb
в функции будет каждый раз отправляться запрос в БД на получения списка категорий для скрытия
Можно через хук. PHP поддерживает static переменные, которые сохраняют своё состояние при множественных вызовах функции. Другими словами, в хуке кладём в статическую переменную результат запроса и дальше просто проверяем есть ли каждая последующая категория в этой статической переменной.
Но вообще я имел ввиду что можно просто обнулить хлебные крошки вызвав в пост-контроллере Tygh::$app['view']->assign('breadcrumbs', []);
Большое спасибо за помощь. Изучаю платформу)
Подскажите, а существуют какие-то курсы или вебинары по cs-cart, кроме видео которые есть на основном Ютуб канале?
В контроллере категории я не нашел формирования этого блока, не подскажите где искать?
И как действовать если не очевидно где находиться выполнение того или иного елемента на странице?