Просмотров: 130500
Дата последнего изменения: 06.07.2022
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Недоступно в лицензиях:
Ограничений нет
Файл 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)
Важно! Наиболее правильный вариант кастомизации компонента - скопировать его в отдельное пространство имен и работать уже с копией компонента. При этом нужно учитывать последствия:
- Увеличивается общее количество компонентов, соответственно растет и количество выделяемых на их поддержку ресурсов.
- Сложность в освоении новым разработчиком: сначала ему нужно будет найти в чем отличие от уже существующего стандартного компонента.