В чем отличие хука от зоны для вывода блока
Объясните, пожалуйста, чем отличается хук от зоны для вывода блоков?
С блоками мне все понятно: в нужном месте задаю новую зону
и вывожу туда любые блоки, причем в конфиге могу гибко настроить их вывод. А в чем преимущества хуков?
С блоками мне все понятно: в нужном месте задаю новую зону
{include file='blocks.tpl' group='topic-bottom'}
и вывожу туда любые блоки, причем в конфиге могу гибко настроить их вывод. А в чем преимущества хуков?
27 комментариев
Ну еще семантика.
Набор переменных можно передать и туд и туда, если не ощибаюсь.
Ну и чисто формально, функционал хука и инклуд произвольного файла (или конкретного) — механизмы разные. Значит и скорость разная. А что быстрее и экономичнее — нужно тестировать.
выведет заранее созданный блок с именем topic-bottom?
А если у меня не плагин, а шаблон, тоо смысл создавать группу блоков?
К примеру, сайдбар — это зона right и в конфиге при настройке блоков прописана она. Если добавить вышеуказанный инклуд в какое-нибудь место шаблона и в конфиге для любого блока изменить right на topic-bottom выбранный блок выведется вместо сайдбара именно в этой зоне.
Вместо topic-bottom можно написать что угодно.
в каком порядке плагины активированы — в таком будут выводить в хуке свои данные.
у блоков есть доп. параметры, обрабатываемые самим движком: экшены и эвенты для показа, приоритет, пути показа.
у хуков «точка вывода» и все проверки нужно писать в обработчике хука: сверка экшена и эвента (если нужна) и т.п.
поэтому практически блоки — это высшая степень эволюции хуков: все тоже могут что и хуки + уже некоторые встроенные опции настройки блока.
все зависит от задач
{include file='blocks.tpl' group='somegroup'}
?group
и вернуть через хук