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

Почти каждый метод старого API Битрикса — CUser::GetList, CIBlockElement::GetList, прямой запрос через $DB->Query — возвращает не готовый массив данных, а объект CDBResult. Разберём, как этот объект устроен и какие его методы регулярно путают между собой. Fetch vs GetNext <?php $result = CUser::GetList(‘ID’, ‘ASC’, []); // вариант 1 while ($row = $result->Fetch()) { echo $row[‘LOGIN’]; } // вариант 2 (для инфоблоков…

1С-Битрикс исторически не был рассчитан на управление зависимостями через Composer — ядро подключается собственным механизмом модулей. Но использование сторонних PHP-библиотек через Composer в проектной части кода вполне реально и оправдано для многих задач. Разберём, как это организовать без конфликтов с ядром системы. Почему нельзя просто composer init в корне сайта Прямая инициализация Composer в корне проекта рискует конфликтовать с автозагрузкой…

Обмен данными с внешними API, AJAX-обработчики, сохранение структурированных данных в текстовое поле — всё это регулярно требует кодирования и декодирования JSON. Разберём Bitrix\Main\Web\Json и чем он отличается от стандартных функций PHP. Базовое кодирование и декодирование <?php use Bitrix\Main\Web\Json; $jsonString = Json::encode([‘name’ => ‘Товар’, ‘price’ => 1500]); $data = Json::decode($jsonString); echo $data[‘name’]; Функционально класс — обёртка над стандартными json_encode и json_decode,…

Bitrix\Main\Engine\Controller — штатный способ обрабатывать AJAX-запросы в новом ядре 1С-Битрикс. Вместо самописного файла с подключением пролога вы описываете класс с методами-действиями, а ядро берёт на себя проверку токена, разбор параметров и формирование ответа. Разберём устройство контроллера, систему фильтров, возврат ошибок и способы вызова с фронтенда. Обзор остальных подходов к AJAX есть в статье AJAX в Битрикс. Минимальный контроллер <?php //…

Bitrix\Main\Application — центральная точка доступа к контексту текущего выполнения в D7: запросу, ответу, сессии, подключению к базе. Разберём, зачем нужен этот класс, если к тем же данным можно обратиться через глобальные переменные, и когда это действительно важно. Получение экземпляра приложения <?php use Bitrix\Main\Application; $app = Application::getInstance(); $context = $app->getContext(); Application реализован как синглтон — один экземпляр на весь жизненный цикл…

Данные в базе разложены по таблицам, и почти любая полезная выборка требует их соединить: заказы вместе с пользователями, элементы вместе с разделами, записи справочника вместе с привязанными к ним значениями. В ORM 1С-Битрикс за это отвечает referenceField — описание связи между сущностями. Один раз описав связь, дальше вы обращаетесь к полям связанной таблицы как к своим. Разберём, как это устроено,…

Кеширование в компонентах включается галочкой, а вот собственный код кешируется вручную. Тяжёлая выборка, обращение к внешнему API, сложный расчёт — всё это должно выполняться раз в час, а не при каждом открытии страницы. В D7 для этого есть Bitrix\Main\Data\Cache. Разберём базовый шаблон использования, работу с тегированным кешем и типичные ошибки, из-за которых кеш либо не работает, либо отдаёт устаревшие данные….

Выбор CMS определяет годы работы с сайтом, и сравнивать «Битрикс лучше» или «WordPress проще» бессмысленно без привязки к задаче. Разберём, для каких сценариев подходит каждая из трёх платформ, и почему правильный вопрос — не «что лучше», а «что решает конкретную задачу с приемлемыми затратами». Коротко о каждой платформе 1С-Битрикс WordPress Тильда Тип Коммерческая CMS Открытая CMS Конструктор сайтов Стоимость входа…

Техподдержка Битрикс отвечает быстрее и точнее, когда обращение оформлено правильно с первого раза. Расплывчатое «сайт не работает» без деталей означает лишний круг переписки, прежде чем начнётся реальная диагностика. Что нужно для обращения Требование Комментарий Действующая лицензия и подписка на обновления Без неё доступ к техподдержке ограничен или недоступен Регистрация лицензии на сайте Обращения привязываются к конкретной лицензии Доступ в личный…

Настройки проекта надо где-то хранить: ключ доступа к внешнему сервису, идентификатор инфоблока, адрес получателя уведомлений, флаг включения интеграции. Класть их константами в init.php неудобно — при каждом изменении нужен разработчик. В 1С-Битрикс для этого есть штатное хранилище настроек модулей — Bitrix\Main\Config\Option. Разберём, как читать и записывать значения, чем он отличается от старого COption и как вывести свои настройки в административную…
Разработка Битрикс в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.