Все статьи
307 материалов

СДЭК — один из самых востребованных способов доставки для российских интернет-магазинов, с широкой сетью пунктов выдачи и расчётом стоимости в реальном времени. Разберём подключение службы доставки СДЭК к модулю продаж 1С-Битрикс и типичные вопросы настройки. Готовая интеграция vs. собственная Для СДЭК существует официальный модуль доставки, доступный через Маркетплейс, реализующий расчёт стоимости, выбор пункта выдачи через встроенную карту и передачу заказов…

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

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

Защита изображений товаров от копирования конкурентами или продвижение бренда через логотип на каждой фотографии — типичная причина добавлять водяной знак при загрузке. Разберём, как реализовать автоматическое нанесение водяного знака на изображения в 1С-Битрикс. Обработчик события при сохранении файла <?php use Bitrix\Main\EventManager; EventManager::getInstance()->addEventHandler( ‘main’, ‘OnAfterFileSave’, function ($fileId) { $file = CFile::GetByID($fileId)->Fetch(); if (in_array($file[‘CONTENT_TYPE’], [‘image/jpeg’, ‘image/png’], true)) { addWatermark($file); } } );…

Стандартных переменных штатных почтовых событий (заказ, регистрация) часто не хватает для нестандартной коммуникации — собственное событие с собственным набором полей закрывает эту потребность. Разберём, как зарегистрировать почтовое событие с произвольными переменными и передать в него нужные данные. Регистрация нового типа почтового события Собственное почтовое событие регистрируется через административную панель в разделе Сервисы → Почтовые события → Типы почтовых событий, где…

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

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

Bitrix\Main\Web\HttpClient — штатный класс D7 для запросов к внешним API: интеграции с CRM, платёжными системами, службами доставки. Разберём базовое использование, обработку ошибок и настройку таймаутов, без которых внешний запрос может подвесить весь сайт. Базовый GET-запрос <?php use Bitrix\Main\Web\HttpClient; $httpClient = new HttpClient(); $response = $httpClient->get(‘https://api.example.com/status’); if ($httpClient->getStatus() === 200) { echo $response; } else { echo ‘Ошибка: ‘ . $httpClient->getStatus();…

Ядро 1С-Битрикс поставляется с десятками готовых компонентов, и часть из них годами остаётся незамеченной разработчиками, которые привыкли писать похожую логику с нуля. Разберём наиболее полезные штатные компоненты по категориям задач — как справочник для быстрого поиска подходящего готового решения. Работа с инфоблоками bitrix:catalog.section — список товаров раздела каталога. bitrix:catalog.element — детальная страница товара. bitrix:news.list — универсальный список элементов произвольного инфоблока,…

Веб-формы — штатный модуль 1С-Битрикс для сбора данных от посетителей: обратная связь, заявка на звонок, обратный вопрос. В отличие от ручной сборки формы и обработчика на PHP, модуль хранит заявки в базе, показывает их в административной части и умеет отправлять уведомления без единой строки кода. Когда веб-форма уместнее самописной Ситуация Что выбрать Нужен простой сбор заявок с хранением в админке…

Розничная и оптовая цена, скидка для постоянных клиентов, особые условия для B2B-партнёров — всё это решается через типы цен и их привязку к группам пользователей в модуле «Каталог». Разберём, как это устроено и как настроить наценки без ручного пересчёта каждой цены отдельно. Типы цен как основа Раздел Магазин → Настройки → Типы цен определяет доступные группы цен — базовая розничная,…

Требования к размещению персональных данных российских граждан на серверах внутри страны напрямую влияют на выбор хостинга для сайта с формой регистрации, заказами или любым другим сбором персональных данных. Разберём, что реально означает «хостинг с российской пропиской» и какие требования актуальны для проекта на 1С-Битрикс в 2026 году. Требование 152-ФЗ о локализации персональных данных Закон требует, чтобы первичный сбор, запись, систематизация,…