Для чего компоненту эпилог?
При использовании компонента в Битриксе часто нужно, чтобы компонент не только выводил данные на страницу, но и выполнял некоторые дополнительные действия: изменение заголовка страницы, добавление элементов навигационной цепочки и т. п. Раньше (при работе с версией Битрикса, младшей чем 9.0) для реализации такого поведения необходимо было модифицировать основной файл компонента (component.php
).
В версии 9.0 в шаблон компонента был добавлен файл component_epilog.php
— эпилог компонента. Его особенность в том, что он, в отличие от файлов template.php
и result_modifier.php
, исполняется при каждом вызове компонента, вне зависимости от наличия кеша. Кроме того, в component_epilog.php
доступны привычные массивы $arParams
и $arResult
. В теории это означает, что все дополнительные действия можно выполнить в эпилоге, что заметно упрощает жизнь разработчику.
Эпилог и кеширование
Но, как обычно, теория с практикой немного расходятся. Если с $arParams
проблем не возникает (так как по сути это предопределенный массив, который просто «пробрасывается» по всем файлам компонента), то c $arResult
есть некоторые нюансы.
Метки: битрикс, программирование, создание сайтов
Оставить комментарий