Метка: Разработка

98 материалов

Жизненный цикл компонента на ООП в Битрикс: подготовка параметров, выполнение логики, вывод шаблона
class.php в Битрикс — компоненты на ООП

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…

Компоненты Обновлено: 22 августа 2026
Схема .gitignore и структуры репозитория для проекта на 1С-Битрикс
Git и Битрикс: что версионировать, а что нет

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

Полезное Обновлено: 23 августа 2026
Соответствие методов COption старого ядра и Option из D7 в Битрикс — одно хранилище настроек
COption: GetOptionString и SetOptionString в Битрикс

COption — хранилище настроек старого ядра 1С-Битрикс, работающее с теми же данными, что и современный Bitrix\Main\Config\Option из D7. Значение, записанное одним классом, читается другим без каких-либо преобразований — это одна и та же таблица в базе. Основные методы <?php // запись строки COption::SetOptionString(‘myproject’, ‘api_key’, ‘abc123’); // чтение строки со значением по умолчанию $key = COption::GetOptionString(‘myproject’, ‘api_key’, ‘default’); // запись и…

API Битрикс Обновлено: 22 августа 2026
Сравнение устаревшего API CSaleOrder/CSaleBasket и современного Bitrix Sale Order в Битрикс
CSaleOrder и CSaleBasket — устаревший API заказов в Битрикс

CSaleOrder и CSaleBasket — устаревшие классы старого модуля «Интернет-магазин» (D6), которые до сих пор встречаются в проектах, не переведённых на современный Bitrix\Sale\Order. Разберём, как они работают, и почему для нового кода стоит выбирать D7-вариант. Добавление товара в корзину (D6) <?php CSaleBasket::Add([ ‘PRODUCT_ID’ => $productId, ‘QUANTITY’ => 1, ‘LID’ => ‘s1’, ‘PRICE’ => $price, ‘CURRENCY’ => ‘RUB’, ]); Создание заказа (D6)…

Заказы Обновлено: 23 августа 2026
Схема создания REST-эндпоинта через контроллер D7 в 1С-Битрикс
Свой REST-эндпоинт на сайте Битрикс

Мобильное приложение, внешняя интеграция или 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’ => […

Полезное Обновлено: 23 августа 2026
Схема диагностики невыполняющегося агента в 1С-Битрикс
Агенты не выполняются в Битрикс: диагностика

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

Ошибки Битрикс Обновлено: 23 августа 2026
Диагностика подключения модуля в Битрикс: проверка установки модуля и результата Loader::includeModule
Модуль не подключается: Loader::includeModule возвращает false

Код падает с ошибкой «Class not found», хотя класс точно существует. Или тихо ничего не делает. Причина в девяти случаях из десяти одна: модуль не подключён, а Loader::includeModule() вернул false, и этого никто не проверил. Разберём, почему подключение модуля не срабатывает, как быстро найти настоящую причину и как писать код так, чтобы такая ошибка не превращалась в загадку на полдня….

Ошибки Битрикс Обновлено: 21 августа 2026
Схема изменения цены и остатка товара через CPrice и CCatalogProduct в модуле Каталог Битрикс
CCatalogProduct и CPrice — цена и остаток товара в Битрикс

Цена и торговые параметры товара в модуле «Каталог» хранятся отдельно от самого элемента инфоблока — в собственных таблицах, с которыми работают классы CCatalogProduct и CPrice. Разберём, как читать и менять цену и остаток программно, не через админку. Почему цена — это не свойство элемента Товар в 1С-Битрикс — это элемент инфоблока, а его торговые параметры (цена, остаток на складе, вес,…

Каталог Обновлено: 23 августа 2026
Сравнение CModule::IncludeModule и Loader::includeModule в Битрикс: оба проверяют подключение модуля
CModule::IncludeModule — подключение модулей в Битрикс

CModule::IncludeModule — предшественник современного Loader::includeModule из D7. В коде старого ядра и во множестве чужих решений из Маркетплейса он встречается до сих пор, и разработчику важно понимать оба варианта одинаково хорошо. Базовый вызов <?php if (CModule::IncludeModule(‘iblock’)) { $result = CIBlockElement::GetList([], [‘IBLOCK_ID’ => 5]); } else { // модуль недоступен } Метод возвращает true при успешном подключении и false при неудаче…

API Битрикс Обновлено: 22 августа 2026
Схема чтения и записи свойств элемента инфоблока через CIBlockProperty в Битрикс
CIBlockProperty — работа со свойствами элементов в Битрикс

Свойства элементов инфоблока — один из самых частых источников путаницы в API Битрикса: формат значения меняется в зависимости от типа свойства и множественности. Разберём CIBlockProperty, чтение и запись значений через PROPERTY_VALUES и типичные грабли с форматом данных. Получение списка свойств инфоблока <?php $result = CIBlockProperty::GetList( [‘SORT’ => ‘ASC’], [‘IBLOCK_ID’ => $iblockId] ); while ($property = $result->GetNext()) { echo $property[‘CODE’] ….

Прочее Обновлено: 23 августа 2026

О метке «Разработка»

Материалы по теме «Разработка»: статьи и инструкции по 1С-Битрикс в базе знаний Bitrix-Help.

Услуги
Инструменты
База знаний