Москва, Нагорный проезд 10 корп.2
Заказать звонок
Войти
Логин
Пароль
Логин
Пароль

Мои компоненты

Многие задачи на сайте можно решить, используя стандартные компоненты. Достаточно бывает изменения шаблона компонента или использование обработки параметров компонента в файле result_modifier.php.

Файл result_modifier.php, подключается непосредственно перед подключением шаблона компонента. Этот файл получает на вход массив результатов работы компонента и массив параметров вызова компонента. Таким образом, можно изменить массив результатов работы компонента под конкретный шаблон.

Например, системный компонент полностью подходит для сайта, за исключением того, что он не возвращает какое-то дополнительное поле. В данном случае следует создать файл result_modifier.php в шаблоне компонента и дописать в массив результатов работы компонента дополнительное поле. Могут быть и другие варианты использования этого файла.

Однако для решения некоторых задач может потребоваться создание собственных компонентов.

Собственные компоненты могут быть созданы пользователем самостоятельно в соответствии с документацией. Или же они могут быть созданы на основе системных компонентов, путем упрощения или частичного изменения функционала.

Все компоненты находятся в папке /bitrix/components/. Системные компоненты находятся в папке /bitrix/components/bitrix/. Содержимое этой папки обновляется системой обновлений и не может изменяться пользователями.

Внимание! Изменение чего-либо в папке системных компонентов /bitrix/components/bitrix/ может привести к непредсказуемым последствиям.

Пользовательские компоненты могут находиться в любых других подпапках папки /bitrix/components/, например в данном демонстрационном проекте специально создана папка /bitrix/components/demo/, в которой размещаются примеры пользовательских компонентов.

В качестве примеров пользовательских компонентов представлены следующие:

  • Компонент показа списка новостей
  • Компонент показа детальной страницы новостей
  • Комплексный компонент новостей news

На страницах данного раздела приведены примеры их подключения и использования.

Подключение компонентов выполняется в визуальном редакторе:

Мои компоненты

В коде страницы подключение компонента выполняется следующим образом:

<?$APPLICATION->IncludeComponent("demo:news.detail", ".default", Array(
   "IBLOCK_TYPE" => "news",
   "IBLOCK_ID" => "3",
   "ELEMENT_ID" => $_REQUEST["ID"],
   "IBLOCK_URL" => "news_list.php",
   "CACHE_TYPE" => "A",
   "CACHE_TIME" => "3600",
   "DISPLAY_PANEL" => "N",
   "SET_TITLE" => "Y",
   "ADD_SECTIONS_CHAIN" => "N",
   "DISPLAY_DATE" => "Y",
   "DISPLAY_NAME" => "N",
   "DISPLAY_PICTURE" => "Y"
 )
);?>

Обратите внимание: название подпапки папки /bitrix/components/ используется для группировки компонентов и при их подключении. Например, все системные компоненты расположены в папке /bitrix/components/bitrix.

Соответствующий код подключения системных компонентов выглядит следующим образом:

$APPLICATION->IncludeComponent("bitrix:news.line", ...)

Для пользовательских компонентов из папки /bitrix/components/demo подключение выполняется так:

$APPLICATION->IncludeComponent("demo:news.line", ...)

Обратите внимание, создание пользовательского компонента на основе системного имеет определенные минусы: компонент не будет обновляться , а значит не будут исправляться ошибки и добавляться новый функционал.

Подробную информацию по созданию компонентов вы можете найти в документации для разработчика.