Главная » Записи по метке: D7

Метка: D7

18 материалов

Схема кодирования и декодирования JSON через Bitrix Main Web Json в D7 Битрикс
Bitrix\Main\Web\Json — кодирование и декодирование

Обмен данными с внешними 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,…

D7 Обновлено: 23 августа 2026
Схема AJAX-контроллера D7: фильтры проверяют запрос, действие возвращает данные в едином формате JSON
Bitrix\Main\Engine\Controller — AJAX-контроллеры D7

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

D7 Обновлено: 21 августа 2026
Схема доступа к контексту выполнения через Bitrix Main Application в D7 Битрикс
Bitrix\Main\Application и контекст выполнения в D7

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

D7 Обновлено: 23 августа 2026
Схема связи таблиц в ORM Битрикс: Reference соединяет сущности и позволяет выбрать данные одним запросом
referenceField и связи между таблицами в ORM Битрикс

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

D7 Обновлено: 21 августа 2026
Схема кеширования в Битрикс D7: при попадании в кеш данные берутся готовыми, иначе пересчитываются и сохраняются
Bitrix\Main\Data\Cache — кеширование в Битрикс D7

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

D7 Обновлено: 21 августа 2026
Схема хранения настроек в Битрикс: значения привязаны к модулю и читаются через класс Option
Bitrix\Main\Config\Option — настройки модулей в Битрикс

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

D7 Обновлено: 21 августа 2026
Схема локализации текста через Loc::getMessage и языковые файлы в 1С-Битрикс
Loc::getMessage — локализация текста в Битрикс

Любой текст, который увидит пользователь или администратор, стоит выносить в языковые файлы через Loc::getMessage, а не зашивать строкой прямо в код, — даже если проект никогда не станет многоязычным. Разберём механизм локализации D7 и почему это правило стоит соблюдать с самого начала разработки. Базовое использование <?php use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); echo Loc::getMessage(‘MY_MODULE_TASK_SAVED’); Loc::loadMessages(__FILE__) подключает языковой файл, расположенный по соглашению рядом с…

Полезное Обновлено: 23 августа 2026
Схема описания ORM-модели через DataManager с типами полей и связями в D7 Битрикс
Своя ORM-модель: DataManager и типы полей в D7

Собственная ORM-модель на D7 описывается классом-наследником Bitrix\Main\Entity\DataManager с явным перечислением полей таблицы и их типов. Разберём базовые типы полей, связи между сущностями и валидацию — то, ради чего вообще стоит писать ORM-модель, а не работать с таблицей через прямой SQL. Минимальная модель <?php namespace Vendor\Module; use Bitrix\Main\Entity\DataManager; use Bitrix\Main\Entity\IntegerField; use Bitrix\Main\Entity\StringField; use Bitrix\Main\Entity\DatetimeField; class TaskTable extends DataManager { public static…

D7 Обновлено: 23 августа 2026
Схема получения данных запроса через Bitrix Main Request в D7 API Битрикс
Bitrix\Main\Request — работа с HTTP-запросом в D7

Bitrix\Main\Request — D7-обёртка над глобальными массивами $_GET, $_POST, $_SERVER с встроенной базовой защитой от опасных символов. Разберём, чем это лучше прямого обращения к суперглобалам и какие ограничения стоит знать при работе с ней. Получение объекта запроса <?php use Bitrix\Main\Context; $request = Context::getCurrent()->getRequest(); $id = $request->get(‘id’); $action = $request->getPost(‘action’); Context::getCurrent() — правильный способ получить текущий запрос из любого места кода D7,…

D7 Обновлено: 23 августа 2026
Схема работы с датами через Bitrix Main Type DateTime в D7 API Битрикс
Bitrix\Main\Type\DateTime — работа с датами в D7

Bitrix\Main\Type\DateTime — обёртка над стандартным PHP DateTime, обязательная к использованию при работе с датами через D7 API. Разберём, зачем она вообще нужна, если в PHP уже есть свой класс дат, и какие ошибки чаще всего возникают при смешивании форматов. Почему нельзя просто передать обычный DateTime <?php use Bitrix\Main\UserTable; use Bitrix\Main\Type\DateTime; UserTable::update($userId, [ ‘LAST_LOGIN’ => new DateTime(), // именно Bitrix\Main\Type\DateTime ]);…

D7 Обновлено: 23 августа 2026
Услуги
Инструменты
База знаний