О разделе «Разработка Битрикс»
Разработка Битрикс в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.
PHP, D7, ORM, компоненты, JS
75 материалов

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…

Ядро Битрикса и его особенности файловой структуры плохо сочетаются с наивным «положить весь проект в Git» — часть каталогов должна версионироваться, часть категорически нет. Разберём, что реально стоит включать в репозиторий проекта на 1С-Битрикс, а что исключить. Что не версионировать: ядро системы Каталог bitrix/modules/ с ядром системы и штатными модулями не стоит версионировать в проектном репозитории — он обновляется собственным…

Мобильное приложение, внешняя интеграция или SPA-фронтенд, работающий с данными сайта, — всем им нужен API. Разберём, как реализовать собственный REST-эндпоинт на 1С-Битрикс через штатный механизм контроллеров D7, а не через самописную маршрутизацию с нуля. Контроллер как основа REST-эндпоинта <?php namespace Vendor\Module\Controller; use Bitrix\Main\Engine\Controller; use Bitrix\Main\Engine\ActionFilter; class Product extends Controller { public function configureActions(): array { return [ ‘list’ => […

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С-Битрикс, не трогая код ядра. Нужно проверять данные перед сохранением элемента, отправлять уведомление после создания заказа, дописывать поля пользователю при регистрации — всё это делается через обработчики событий. Разберём, как устроен механизм, чем отличаются события «до» и «после», как отменить действие из обработчика и почему AddEventHandler постепенно уступает место подходу из D7. Как…

Кеширование компонентов — та настройка, которая определяет, сколько запросов к базе делает страница при каждом обращении. Компонент, выводящий список товаров без кеша, пересчитывает выборку на каждом хите; тот же компонент с включённым кешем — только один раз за время жизни кеша. Три режима кеширования Режим Поведение Кешировать Компонент всегда использует кеш заданное время Не кешировать Данные пересчитываются на каждом обращении…

init.php — файл, который 1С-Битрикс подключает при каждом обращении к сайту, до того как начнёт формироваться страница. Всё, что в нём объявлено, доступно и в публичной части, и в административной, и в компонентах. Это стандартное место для обработчиков событий, вспомогательных функций и констант проекта. Разберём, где файл должен лежать, что в него стоит класть, а что нет, и почему разросшийся…

Стандартный шаблон компонента редко устраивает без изменений: чужая вёрстка, другие классы, отсутствие нужных блоков разметки. Правка файлов прямо в /bitrix/components/ — самый быстрый способ испортить сайт: правки исчезнут при первом же обновлении модуля. Правильный путь — копирование шаблона компонента в свой шаблон сайта. Разберём механизм, порядок поиска файлов ядром и типичные ошибки при переносе. Где искать оригинал Штатные шаблоны компонентов…
Разработка Битрикс в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.