Файл result_modifier.php - инструмент для модификации данных работы компонента произвольным образом. Создается разработчиком самостоятельно.
Если в папке шаблона есть файл result_modifier.php, то он вызывается перед подключением шаблона.
Работа с файлом result_modifier.php
415
Работа с файлом result_modifier.php
Файл result_modifier.php - инструмент для модификации данных работы компонента произвольным образом. Создается разработчиком самостоятельно.
Если в папке шаблона есть файл result_modifier.php, то он вызывается перед подключением шаблона.
Файл result_modifier.php - инструмент для модификации данных работы компонента произвольным образом. Создается разработчиком самостоятельно.
Если в папке шаблона есть файл result_modifier.php, то он вызывается перед подключением шаблона.
Схема работы компонента с файлом result_modifier.php:
В этом файле можно запросить дополнительные данные и занести их в массив результатов работы компонента $arResult. Это может оказаться полезным, если требуется вывести на экран какие-либо дополнительные данные, но не хочется кастомизировать компонент и отказываться от его поддержки и обновлений.
Файл result_modifier.php запускается только перед подключением шаблона. В случае "обычного" кеширования шаблон не подключается. И через него не получится устанавливать динамические свойства типа: title, keywords, description.
В файле доступны языковые фразы шаблона компонента и следующие переменные:
$arParams - параметры, чтение, изменение. Не затрагивает одноименный член компонента, но изменения тут влияют на $arParams в файле template.php;
$arResult — результат, чтение/изменение. Затрагивает одноименный член класса компонента;
$APPLICATION, $USER, $DB - объявлять их как global избыточно, они уже доступны по-умолчанию;
$this — ссылка на текущий шаблон (объект, описывающий шаблон, тип CBitrixComponentTemplate).
Наиболее правильный вариант кастомизации компонента - скопировать его в отдельное пространство имен и работать уже с копией компонента. При этом нужно учитывать последствия:
Увеличивается общее количество компонентов, соответственно растет и количество выделяемых на их поддержку ресурсов;
Сложность в освоении новым разработчиком: сначала ему нужно будет найти в чем отличие от уже существующего стандартного компонента.