Редактору нужно срочно заменить баннер на главной — он заходит в модуль Advertising, а его нет (только в «Малом бизнесе»). Или инфоблок есть, но старый баннер висит из-за кеша: CACHE_TIME = 3600, а акция закончилась 10 минут назад. Наша команда с десятилетним опытом в Битриксе решила такие проблемы на 50+ проектах. Ниже разбираем два подхода, их узкие места и готовые решения.
Типичная боль: модуль Advertising требует редакции «Малый бизнес» и выше, что увеличивает стоимость лицензии на 60-80%. Он хранит данные в отдельных таблицах (b_adv_banner, b_adv_contract), а интеграция с нестандартными разделами требует доработок. Инфоблок-подход проще, но без правильного кеша и свойства BANNER_ZONE редакторы тонут в сотнях баннеров. Один проект — 200+ баннеров в одном списке без зон. И главное — планирование: кеш компонента может показывать уже неактуальный баннер, если не синхронизировать агенты.
Проблемы, которые решаем
- Лицензионные ограничения. Модуль Advertising доступен только начиная с редакции «Малый бизнес» (заметно дороже). Базы —
b_adv_banner,b_adv_contract. Любая кастомизация требует погружения в логику модуля. - Хаос в инфоблоке. Если не разграничить баннеры по зонам показа (свойство BANNER_ZONE), редакторы быстро теряются. Внедрение зон сокращает время на поиск нужного баннера с 5 до 1 минуты.
- Кеш и временные рамки. Стандартный CACHE_TIME может держать устаревший баннер. Нужны агенты или отключение кеша — компромисс между актуальностью и нагрузкой.
Как мы это делаем: инфоблок-подход
Для 80% корпоративных сайтов используем инфоблок banners с такими свойствами:
-
BANNER_ZONE— список (main_slider,sidebar,category_top) -
LINK_URLиLINK_TARGET— целевой URL и атрибут -
IMAGEиIMAGE_MOBILE— адаптивные изображения -
REGIONS— для мультирегиональных баннеров -
ACTIVE_FROM/ACTIVE_TO— автоматическое скрытие по дате
Пример компонента вывода слайдера:
$APPLICATION->IncludeComponent('bitrix:news.list', 'banners', [
'IBLOCK_ID' => BANNERS_IBLOCK_ID,
'FILTER' => ['PROPERTY_BANNER_ZONE' => 'main_slider'],
'SORT_BY1' => 'SORT',
'CACHE_TYPE' => 'A',
'CACHE_TIME' => 1800,
]);
Кейс из практики: сеть из 20 регионов. Редакторы выбирают баннеры для каждого региона через свойство REGIONS. На стороне компонента фильтруем по текущему региону. Время на обновление баннеров сократилось с 2 часов до 15 минут — экономия 30% рабочего времени редактора. Стоимость лицензии осталась на уровне «Старт».
Для базовой статистики кликов внедряем AJAX-трекер: при клике отправляется запрос на /local/ajax/banner_click.php?id=XXX, счётчик увеличивается в свойстве элемента. Этого достаточно для аналитики без модуля Advertising.
Когда модуль advertising оправдан
Модуль Advertising стоит выбирать, если требуется встроенная статистика показов, A/B-тестирование или ограничение частоты показов. Однако он требует редакции «Малый бизнес» и более сложного обучения редакторов. Подробнее — в официальной документации 1С-Битрикс (см. документацию модуля Advertising).
Сравнение подходов
| Критерий | Модуль advertising | Инфоблок-подход |
|---|---|---|
| Минимальная редакция | Малый бизнес | Любая |
| Статистика показов | Встроенная | Через AJAX-трекер (доп. разработка) |
| A/B-тестирование | Есть | Нет |
| Сложность для редактора | Высокая (требуется обучение) | Низкая (стандартная форма элемента) |
| Кеширование | Встроенное | Требуется настройка |
| Мультирегиональность | Через доп. поля | Через свойство инфоблока |
| Время внедрения | 2-3 дня | 1 день |
Почему инфоблок-подход выгоднее?
Для типового сайта с лендингом, блогом и каталогом функционал Advertising избыточен. Инфоблок-подход дешевле в лицензировании и проще в поддержке. Замеры: настройка инфоблока занимает в 2 раза меньше времени, код — на 30% короче. Редакторы учатся управлять баннерами за 15 минут. Гарантируем — после обучения они не будут дёргать разработчика для смены картинки. Наш опыт: 50+ успешных проектов.
Как правильно настроить кеширование баннеров?
Есть три варианта управления кешем. Первый — уменьшить CACHE_TIME до интервала, меньшего периода акции. Простая настройка, но сложно подобрать оптимальное время. Второй — агент с BXClearCache(): точечное снятие кеша по дате. Высокая точность, но требует разработки агента. Третий — полное отключение кеша (CACHE_TYPE = 'N'): 100% актуальность, но небольшая дополнительная нагрузка. Выбор зависит от частоты обновления баннеров и нагрузки на сервер.
| Вариант кеширования | Актуальность | Нагрузка | Сложность |
|---|---|---|---|
| CACHE_TIME ≤ TTL акции | Средняя | Низкая | Низкая |
| Агент BXClearCache() | Высокая | Средняя | Средняя |
| CACHE_TYPE = 'N' | Максимальная | Высокая | Низкая |
Процесс работы с нашей командой
- Аналитика: изучаем структуру сайта, текущие баннеры, права редакторов.
- Проектирование: выбираем подход, проектируем инфоблок, настраиваем кеш.
- Реализация: пишем компоненты, настраиваем агенты, добавляем визуальный редактор.
- Тестирование: проверяем все сценарии (показ, скрытие, мобильные, регионы).
- Деплой и обучение: выкатываем на бой, обучаем редакторов, передаём документацию.
Что входит в работу
- Настройка инфоблока с необходимыми свойствами.
- Разработка компонента вывода баннеров с фильтрацией и кешированием.
- Реализация AJAX-трекера кликов (опционально).
- Обучение редакторов (видеоинструкция + текстовый гайд).
- Гарантия на код — 3 месяца бесплатной поддержки.
Закажите настройку управления баннерами
Если сомневаетесь в выборе подхода — свяжитесь с нами. Мы бесплатно оценим ваш проект и предложим оптимальное решение. Получите консультацию по управлению баннерами на 1С-Битрикс.







