Многие задачи на сайте можно решить, используя стандартные компоненты. Достаточно бывает изменения шаблона компонента или использование обработки параметров компонента в файле result_modifier.php.
Файл result_modifier.php, подключается непосредственно перед подключением
шаблона компонента. Этот файл получает на вход массив результатов работы компонента и массив параметров вызова компонента. Таким образом, можно
изменить массив результатов работы компонента под конкретный шаблон.
Например, системный компонент полностью подходит для сайта, за исключением того,
что он не возвращает какое-то дополнительное поле. В данном случае следует создать файл
result_modifier.php в шаблоне компонента и дописать в массив результатов работы компонента дополнительное поле. Могут быть и другие варианты использования этого файла.
Однако для решения некоторых задач может потребоваться создание собственных компонентов.
Собственные компоненты могут быть созданы пользователем самостоятельно в соответствии с документацией. Или же они могут быть созданы на основе системных компонентов, путем упрощения или частичного изменения функционала.
Все компоненты находятся в папке /bitrix/components/. Системные компоненты находятся в папке /bitrix/components/bitrix/. Содержимое этой папки обновляется системой обновлений и не может изменяться пользователями.
Внимание! Изменение чего-либо в папке системных компонентов /bitrix/components/bitrix/ может привести к непредсказуемым последствиям.
Пользовательские компоненты могут находиться в любых других подпапках папки
/bitrix/components/, например в данном демонстрационном проекте специально создана папка /bitrix/components/demo/, в которой размещаются примеры пользовательских компонентов.
В качестве примеров пользовательских компонентов представлены следующие:
Компонент показа списка новостей
Компонент показа детальной страницы новостей
Комплексный компонент новостей news
На страницах данного раздела приведены примеры их подключения и использования.
Подключение компонентов выполняется в визуальном редакторе:
В коде страницы подключение компонента выполняется следующим образом:
Обратите внимание: название подпапки папки /bitrix/components/ используется для группировки компонентов и при их подключении. Например, все системные компоненты расположены в папке /bitrix/components/bitrix.
Соответствующий код подключения системных компонентов выглядит следующим образом:
Обратите внимание, создание пользовательского компонента на основе системного имеет определенные минусы: компонент не будет обновляться , а значит не будут исправляться ошибки и добавляться новый функционал.