О разделе «Полезное»
Полезное в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.
Полезное в 1С-Битрикс: статьи, инструкции и примеры кода…
27 материалов

Почти каждый метод старого 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 в корне проекта рискует конфликтовать с автозагрузкой…

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

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

Не всякая фоновая задача — это агент, который ждёт своего интервала. Иногда нужно выполнить код сразу после того, как ответ уже ушёл пользователю, — чтобы не заставлять посетителя ждать отправку письма, лог или другую тяжёлую операцию, не влияющую на то, что он видит на странице. Разберём, как это сделать в Битриксе корректно. Проблема: тяжёлая операция в основном потоке ответа <?php…

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

Режим отладки в 1С-Битрикс — это не одна галочка, а набор независимых настроек: вывод ошибок PHP, журнал SQL-запросов, отладка событий, таймер производительности. Разберём, что реально показывает каждая из них и почему включать всё сразу на боевом сайте не стоит. Вывод ошибок PHP Базовая настройка находится в /bitrix/.settings.php, в секции exception_handling. Параметр debug со значением true включает подробный вывод ошибок прямо…

Прямой SQL через глобальный объект $DB остаётся в проектах на Битриксе там, где ORM или старый объектный API оказываются избыточными или недостаточно быстрыми. Разберём, как безопасно работать с $DB->Query, и почему прямой SQL — это осознанный компромисс, а не путь по умолчанию. Базовый запрос <?php global $DB; $result = $DB->Query(‘SELECT ID, NAME FROM b_iblock_element WHERE IBLOCK_ID = 14 AND ACTIVE…

Штатных типов свойств инфоблока (строка, число, список, файл) достаточно не всегда — иногда нужен собственный виджет редактирования и своя логика хранения значения. Разберём, как зарегистрировать пользовательский тип свойства через обработчик события OnIBlockPropertyBuildList. Регистрация обработчика <?php use Bitrix\Main\EventManager; EventManager::getInstance()->addEventHandler( ‘iblock’, ‘OnIBlockPropertyBuildList’, [‘\Vendor\Module\ColorPickerProperty’, ‘getUserTypeDescription’] ); Класс пользовательского типа свойства <?php namespace Vendor\Module; class ColorPickerProperty { public static function getUserTypeDescription(): array { return…

Прежде чем обновлять ядро, писать в техподдержку или искать причину странного поведения сайта, полезно точно знать текущую версию — и главного модуля, и всего продукта в целом. Разберём, где эти цифры смотреть, чем отличается версия модуля от версии редакции, и общий порядок безопасного обновления. Где посмотреть версию Способ Что покажет Список модулей в админке Версию каждого модуля отдельно Раздел «Обновление…
Полезное в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.