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

Учёт остатков на нескольких складах — типовая потребность магазина с несколькими точками отгрузки или физическими точками продаж. Разберём, как устроен мультискладской учёт в модуле «Каталог» и что меняется в логике резервирования и вывода наличия товара по сравнению с одним общим складом. Включение учёта по складам Мультискладской режим включается в настройках модуля «Каталог» (Магазин → Настройки → Настройки каталога → раздел…

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

Компания, уже использующая Битрикс24 как CRM, может не нуждаться в отдельном стороннем сервисе коллтрекинга — встроенные возможности телефонии Битрикс24 закрывают часть тех же задач. Разберём, что реально умеет коллтрекинг внутри Битрикс24 и где он уступает специализированным сервисам. Что даёт встроенная телефония Битрикс24 Модуль телефонии Битрикс24 фиксирует звонки с привязкой к карточке клиента в CRM, показывает историю обращений и записывает разговоры…

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

Умный фильтр — компонент, который собирает боковую панель отбора по свойствам каталога автоматически: сам находит используемые характеристики, сам считает количество товаров по каждому значению и сам формирует ЧПУ-адреса для комбинаций. Разберём, как подключить catalog.smart.filter, какие параметры на самом деле влияют на результат и почему без фасетного индекса он рано или поздно упрётся в скорость. Как устроен компонент В отличие от…

DNS-записи связывают доменное имя с реальными сервисами: сайтом, почтой, внешними системами. Ошибка в одной записи способна положить почту, не тронув сайт, или наоборот — а разобраться, что именно сломалось, проще, когда понимаешь назначение каждого типа записи. Основные типы записей Тип Назначение Пример значения A Домен указывает на IPv4-адрес сервера 203.0.113.10 AAAA То же самое для IPv6 2001:db8::1 CNAME Псевдоним —…

Работа с несколькими валютами в интернет-магазине — не только вопрос вывода цены с нужным символом, но и настройка того, откуда берётся курс, как часто он обновляется и что происходит с ценой при переключении покупателем валюты просмотра. Разберём модуль currency и типичные ошибки при мультивалютных проектах. Базовая настройка валют Список доступных валют настраивается в разделе Магазин → Настройки → Валюты, где…

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

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

Форма адреса доставки с ручным вводом города, улицы и дома — источник опечаток и неполных адресов, усложняющих работу службы доставки. Разберём подключение Дадата для автоподсказок адреса на форме оформления заказа в 1С-Битрикс. Что даёт сервис подсказок адресов Дадата предоставляет API автоматического дополнения адреса по мере ввода — покупатель начинает печатать название улицы, сервис подсказывает варианты из справочника реальных адресов (ФИАС/ГАР),…

Перенос домена к другому регистратору — операция, никак не связанная с переносом самого сайта: домен и хостинг обычно принадлежат разным компаниям, и смена одного не требует трогать другой. Разберём порядок переноса и типичные причины, по которым он срывается. Домен и хостинг — независимые вещи Домен Хостинг Что это Право на имя сайта Сервер, где лежат файлы Кто владеет Регистратор Провайдер…

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