Файл 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).
Наиболее правильный вариант кастомизации компонента - скопировать его в отдельное пространство имен и работать уже с копией компонента. При этом нужно учитывать последствия:
- Увеличивается общее количество компонентов, соответственно растет и количество выделяемых на их поддержку ресурсов;
- Сложность в освоении новым разработчиком: сначала ему нужно будет найти в чем отличие от уже существующего стандартного компонента.
**Материалы взяты c сайта 1С-Битрикс**