Проблема в том что нынешний вызов хуков никак не учитывает наследование тем и связанные с этим проблемы при совпадении имен хуков.
Например:
есть тема для сайта (site/demo) и она наследуется темой для магазина (shop/demo), в site/demo есть header.html выводящий данные хука frontend_header, этот шаблон в shop/demo наследуется без изменений.
В результате в магазине будут выводится только данные плагинов для магазина, а по логике должно быть либо объединение данных плагинов приложений (site/demo + shop/demo), либо если используется файл родительской темы, то данные плагинов родительского приложения (site/demo), а если переопределяется - наследующего приложения (shop/demo). Последний вариант мне нравится меньше - слишком замороченный.
В теме просто место для вывода хука. Вся логика формируется в коде. Во frontend_header ессно попадут данные текущего приложения. Если потребуется в магазине создадут хендлер site.frontend_header, если кому надо во всё то через apps сразу во все требуемые.
А так разработчики тем вполне нормально решают вопрос с общей настройкой того же меню во всей теме вне зависимости от активного приложения.
5 комментариев
+1
+1
Проблема в том что нынешний вызов хуков никак не учитывает наследование тем и связанные с этим проблемы при совпадении имен хуков.
Например:
есть тема для сайта (site/demo) и она наследуется темой для магазина (shop/demo), в site/demo есть header.html выводящий данные хука frontend_header, этот шаблон в shop/demo наследуется без изменений.
В результате в магазине будут выводится только данные плагинов для магазина, а по логике должно быть либо объединение данных плагинов приложений (site/demo + shop/demo), либо если используется файл родительской темы, то данные плагинов родительского приложения (site/demo), а если переопределяется - наследующего приложения (shop/demo). Последний вариант мне нравится меньше - слишком замороченный.
В теме просто место для вывода хука. Вся логика формируется в коде. Во frontend_header ессно попадут данные текущего приложения.
Если потребуется в магазине создадут хендлер site.frontend_header, если кому надо во всё то через apps сразу во все требуемые.
А так разработчики тем вполне нормально решают вопрос с общей настройкой того же меню во всей теме вне зависимости от активного приложения.
Не особо понял Вас, можете конкретнее объяснить?
Это потому что названия хуков сейчас редко совпадают.
Уже сейчас можно получить данную проблему, создав тему для магазина и унаследовав от нее тему хаба.