Отношение Многие-ко-Многим (N:M) в D7 ORM: Реализация через промежуточную таблицуОтношение Многие-ко-Многим (N:M) в D7 ORM: Реализация через промежуточную таблицу

Классическая задача: у одной Статьи может быть много Тэгов, и один Тэг может быть привязан к многим Статьям. В реляционных базах данных это решается через промежуточную таблицу. Структура таблиц Шаг

Групповые действия в main.ui.grid: Обработка чекбоксов и панели действийГрупповые действия в main.ui.grid: Обработка чекбоксов и панели действий

Мы уже создавали грид. Теперь добавим возможность выделить несколько строк галочками и применить к ним действие (например, «Удалить» или «Активировать»). Шаг 1: Настройка компонента В параметрах bitrix:main.ui.grid нужно включить чекбоксы и описать

Слайдер Битрикс (SidePanel): Открытие компонентов и страниц в боковой панелиСлайдер Битрикс (SidePanel): Открытие компонентов и страниц в боковой панели

Боковая панель (слайдер) — это стандарт де-факто в интерфейсах Битрикс24. Она позволяет открывать формы редактирования, детальные карточки и отчеты «поверх» текущей страницы, не теряя контекст. 1. Открытие ссылки в слайдере

Роутинг (Routing) в Битрикс: Настройка маршрутов в /bitrix/routes/Роутинг (Routing) в Битрикс: Настройка маршрутов в /bitrix/routes/

Традиционно URL в Битрикс обрабатывались через urlrewrite.php и компоненты. Новый механизм Роутинга (доступен в последних версиях ядра) позволяет описывать маршруты в стиле Laravel или Symfony, привязывая URL напрямую к контроллерам или анонимным

Консольные команды в Битрикс: Создание CLI-скриптов для bitrix.phpКонсольные команды в Битрикс: Создание CLI-скриптов для bitrix.php

В современном Битрикс (с версии main 20.100.0) появилась нативная поддержка консольных команд на базе Symfony Console. Теперь вместо создания разрозненных PHP-файлов для CRON можно писать структурированные команды с аргументами и опциями,

Кросс-платформенные SQL-запросы Возможности Bitrix\Main\DB\SqlHelperКросс-платформенные SQL-запросы Возможности Bitrix\Main\DB\SqlHelper

Если вы пишете «сырые» SQL-запросы (через $connection->query), вы рискуете привязаться к конкретной базе данных (обычно MySQL). SqlHelper — это абстракция, которая генерирует правильный SQL-синтаксис для текущей активной БД. Получить хелпер можно так: 1.

Работа с паролями в D7: Хеширование и проверка с Bitrix\Main\Security\PasswordРабота с паролями в D7: Хеширование и проверка с Bitrix\Main\Security\Password

При работе с CUser::Add Битрикс сам хеширует пароль. Но если вы используете D7 ORM (\Bitrix\Main\UserTable::add) или пишите свою систему авторизации, вам нужно работать с хешами вручную. Класс Bitrix\Main\Security\Password предоставляет стандартизированные методы для этого. 1.

Оптимизация Highload-блоков: Кэширование скомпилированных сущностейОптимизация Highload-блоков: Кэширование скомпилированных сущностей

При работе с HL-блоками мы постоянно пишем: Метод compileEntity «на лету» собирает класс сущности, анализируя пользовательские поля. Это требует ресурсов. Если вы вызываете этот код в цикле или несколько раз в разных

Склонение существительных с числительными: Класс Bitrix\Main\Grid\DeclensionСклонение существительных с числительными: Класс Bitrix\Main\Grid\Declension

Частая задача интерфейса: вывести количество элементов с правильным окончанием (например: «Найдено 22 элемента»). Раньше разработчики писали свои функции declension($n, $form1, $form2, $form5). В D7 есть штатное решение. Использование класса Класс находится

Отправка почты в D7: Класс Bitrix\Main\Mail\EventОтправка почты в D7: Класс Bitrix\Main\Mail\Event

Мы уже рассматривали CEvent::Send (старый метод). В ядре D7 появился класс Bitrix\Main\Mail\Event, который делает отправку писем более объектно-ориентированной и гибкой. Базовая отправка (send) Этот метод создает запись в таблице b_event, которая будет обработана агентом