О разделе «Компоненты»
Компоненты в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.
Компоненты в 1С-Битрикс: статьи, инструкции и примеры кода…
16 материалов

Веб-формы — штатный модуль 1С-Битрикс для сбора данных от посетителей: обратная связь, заявка на звонок, обратный вопрос. В отличие от ручной сборки формы и обработчика на PHP, модуль хранит заявки в базе, показывает их в административной части и умеет отправлять уведомления без единой строки кода. Когда веб-форма уместнее самописной Ситуация Что выбрать Нужен простой сбор заявок с хранением в админке…

Хлебные крошки показывают путь от главной страницы до текущей и дают посетителю быстрый способ подняться на уровень выше. В Битрикс за их вывод отвечает компонент bitrix:breadcrumb, строящий цепочку автоматически на основе структуры разделов сайта. Базовое подключение <$APPLICATION->IncludeComponent( ‘bitrix:breadcrumb’, ‘main’, [ ‘START_FROM’ => 0, ‘PATH’ => », ‘SITE_ID’ => SITE_ID, ] );?> Компонент сам определяет текущее положение в структуре сайта и…

Ядро 1С-Битрикс поставляется с десятками готовых компонентов, и часть из них годами остаётся незамеченной разработчиками, которые привыкли писать похожую логику с нуля. Разберём наиболее полезные штатные компоненты по категориям задач — как справочник для быстрого поиска подходящего готового решения. Работа с инфоблоками bitrix:catalog.section — список товаров раздела каталога. bitrix:catalog.element — детальная страница товара. bitrix:news.list — универсальный список элементов произвольного инфоблока,…

bitrix:catalog.section — штатный компонент вывода списка товаров раздела каталога, лежащий в основе большинства витрин на 1С-Битрикс. Разберём его ключевые параметры и типичные настройки, о которые регулярно спотыкаются при кастомизации. Базовый вызов компонента <?php $APPLICATION->IncludeComponent( ‘bitrix:catalog.section’, ‘my_template’, [ ‘IBLOCK_TYPE’ => ‘catalog’, ‘IBLOCK_ID’ => $iblockId, ‘SECTION_ID’ => $sectionId, ‘ELEMENT_SORT_FIELD’ => ‘sort’, ‘ELEMENT_SORT_ORDER’ => ‘asc’, ‘PAGE_ELEMENT_COUNT’ => 24, ‘PROPERTY_CODE’ => [‘COLOR’, ‘SIZE’], ‘DETAIL_URL’…

Файл component.php — сердце логики компонента, отвечающее за подготовку данных до того, как шаблон начнёт что-то выводить. Разберём его устройство, жизненный цикл выполнения и типичную структуру, на которую стоит ориентироваться при написании собственных компонентов. Базовая структура файла <?php if (!defined(‘B_PROLOG_INCLUDED’) || B_PROLOG_INCLUDED !== true) { die(); } use Bitrix\Main\Loader; Loader::includeModule(‘iblock’); $arResult = []; if (!$this->startResultCache()) { // кеш неактуален или…

Комплексный компонент отличается от обычного одним принципиальным свойством: он сам управляет несколькими страницами через ЧПУ, вызывая внутри себя другие компоненты в зависимости от текущего адреса. bitrix:catalog и bitrix:sale.personal.section — типичные примеры: один вызов разворачивает список, детальную карточку, корзину и личный кабинет одновременно. Чем комплексный компонент отличается от обычного Обычный компонент Комплексный компонент Управляет Одним блоком на странице Несколькими страницами раздела…

class.php превращает компонент из набора процедурного кода в объект, наследующий базовый класс ядра. Это второй способ написать свой компонент — рядом с более простым вариантом на файле component.php, — и он даёт больше контроля над жизненным циклом выполнения. Минимальная структура <?php use Bitrix\Main\Loader; use Bitrix\Main\Localization\Loc; if (!defined(‘B_PROLOG_INCLUDED’) || B_PROLOG_INCLUDED !== true) { die(); } class CatalogTopComponent extends \CBitrixComponent { public…

template.php — единственный файл шаблона компонента, обязательный к существованию. Всё, что видит посетитель, формируется здесь: логика к этому моменту уже отработала, и файл занимается исключительно выводом готовых данных. Что доступно внутри файла К моменту подключения template.php компонент уже выполнил всю работу по получению данных, и они лежат в массиве $arResult. Кроме него доступны ещё несколько переменных: Переменная Содержит $arResult Данные,…

bitrix:menu формирует навигационное меню из файловой структуры сайта. В отличие от многих других компонентов, у него нет привязки к инфоблоку — источником данных служит файл .menu.php, который контент-менеджер может редактировать прямо из публичной части. Базовое подключение <$APPLICATION->IncludeComponent( ‘bitrix:menu’, ‘top’, [ ‘ROOT_MENU_TYPE’ => ‘top’, ‘MENU_CACHE_TYPE’ => ‘A’, ‘MENU_CACHE_TIME’ => 3600, ‘MENU_CACHE_USE_GROUPS’ => ‘Y’, ‘MAX_LEVEL’ => 2, ‘USE_EXT’ => ‘N’, ] );?>…

bitrix:news.list и bitrix:news.detail — базовая пара компонентов для вывода списка и детальной карточки элементов инфоблока. Название «news» не означает, что они годятся только для новостей — это универсальные компоненты вывода, применимые к любому контентному инфоблоку: статьям, портфолио, вакансиям. news.list: параметры вывода <$APPLICATION->IncludeComponent( ‘bitrix:news.list’, ‘main’, [ ‘IBLOCK_TYPE’ => ‘content’, ‘IBLOCK_ID’ => 5, ‘NEWS_COUNT’ => 12, ‘SORT_BY1’ => ‘ACTIVE_FROM’, ‘SORT_ORDER1’ => ‘DESC’,…
Компоненты в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.