191  /  382
Справочник

Файл result_modifier.php

Просмотров: 107720
Дата последнего изменения: 06.07.2022
Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
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)

Примечание: дополнительно об $arParams и $arResult.

Важно! Наиболее правильный вариант кастомизации компонента - скопировать его в отдельное пространство имен и работать уже с копией компонента. При этом нужно учитывать последствия:
  • Увеличивается общее количество компонентов, соответственно растет и количество выделяемых на их поддержку ресурсов.
  • Сложность в освоении новым разработчиком: сначала ему нужно будет найти в чем отличие от уже существующего стандартного компонента.




48
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии