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

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

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

UserTable и ElementTable — готовые ORM-классы D7 для работы с пользователями и элементами инфоблоков через единый интерфейс запросов. Разберём, чем выборка через ORM отличается от старых CUser::GetList/ CIBlockElement::GetList и когда это действительно удобнее. Выборка пользователей через UserTable <?php use Bitrix\Main\UserTable; $result = UserTable::getList([ ‘select’ => [‘ID’, ‘NAME’, ‘EMAIL’, ‘LAST_LOGIN’], ‘filter’ => [‘ACTIVE’ => ‘Y’, ‘>LAST_LOGIN’ => ‘2026-01-01’], ‘order’ => [‘LAST_LOGIN’…

Ядро 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’…

Bitrix\Main\Web\HttpClient — штатный класс D7 для запросов к внешним API: интеграции с CRM, платёжными системами, службами доставки. Разберём базовое использование, обработку ошибок и настройку таймаутов, без которых внешний запрос может подвесить весь сайт. Базовый GET-запрос <?php use Bitrix\Main\Web\HttpClient; $httpClient = new HttpClient(); $response = $httpClient->get(‘https://api.example.com/status’); if ($httpClient->getStatus() === 200) { echo $response; } else { echo ‘Ошибка: ‘ . $httpClient->getStatus();…

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

D7 в отличие от старого API активно использует исключения для сигнализации об ошибках — вместо возврата false или пустого значения, метод выбрасывает объект исключения с описанием проблемы. Разберём иерархию исключений D7 и как правильно их обрабатывать. Базовая иерархия исключений D7 Exception (стандартный PHP) └── Bitrix\Main\SystemException ├── Bitrix\Main\ArgumentException │ ├── ArgumentNullException │ ├── ArgumentOutOfRangeException │ └── ArgumentTypeException ├── Bitrix\Main\NotSupportedException ├── Bitrix\Main\ObjectNotFoundException…

Агенты в 1С-Битрикс — механизм отложенного и периодического выполнения кода, встроенный в ядро с самого начала. Разберём CAgent: как зарегистрировать агент, какие требования предъявляются к функции-обработчику и почему агент, забытый после отладки, может годами незаметно грузить сервер. Регистрация агента <?php CAgent::AddAgent( ‘syncStockBalances();’, // вызываемая функция как строка ‘my.module’, // модуль, к которому привязан агент ‘N’, // периодичность: N — по…

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