Настройка управления баннерами на 1С-Битрикс
Баннеры на Битриксе можно реализовать двумя путями: через встроенный модуль advertising или через инфоблок. Модуль advertising имеет специализированный функционал для рекламных показов, но требует редакции «Малый бизнес» и выше. Инфоблок-подход проще и работает на любой редакции.
Модуль advertising: когда он нужен
Модуль advertising (/bitrix/modules/advertising/) предоставляет: ротацию баннеров, ограничение показов на пользователя/сессию, статистику кликов и показов, A/B-тестирование баннеров. Всё это хранится в таблицах b_adv_banner, b_adv_contract, b_adv_stat_day.
Компонент bitrix:advertising.banner вызывается в шаблоне с указанием контракта (рекламной кампании) и типа баннера. Система автоматически выбирает нужный баннер из контракта по весам показов.
Используйте advertising, если нужна реальная статистика показов или ограничение частоты показа одного баннера.
Инфоблок-подход: проще для редакторов
Для большинства корпоративных сайтов нужны не рекламные кампании, а просто «слайдер на главной» и «баннеры в боковой колонке». Инфоблок с баннерами проще в управлении:
Создаёте инфоблок banners. Свойства элемента:
-
BANNER_ZONE— типСписок, значения:main_slider,sidebar,category_top. Привязка к позиции на сайте -
LINK_URL— URL назначения клика -
LINK_TARGET—_self/_blank -
IMAGE— картинка (или используете стандартныйPREVIEW_PICTURE) -
IMAGE_MOBILE— отдельное изображение для мобильных -
REGIONS— для мультирегиональных сайтов -
ACTIVE_FROM/ACTIVE_TO— стандартные поля для временного показа
В компоненте bitrix:news.list на нужном месте в шаблоне запрашиваете баннеры с фильтром по BANNER_ZONE:
$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,
]);
Управление баннерами через визуальный редактор
Для удобства редакторов — привязываете баннеры к разделам сайта через IBLOCK_SECTION_ID. Тогда в административном интерфейсе редактор заходит в нужный раздел каталога или страницы и видит только баннеры, привязанные к нему.
Альтернатива: Битрикс имеет «Контент-менеджер» (/bitrix/admin/content.php) для управления контентом на страницах без входа в полную административную панель. Баннерный инфоблок можно добавить в этот интерфейс для нетехнических редакторов.
Временные баннеры и планирование
Поля ACTIVE_FROM и ACTIVE_TO позволяют запланировать показ баннера. Но кеш компонента может «заморозить» устаревший баннер. Решения:
- Установите
CACHE_TIMEменьше интервала смены баннеров - Настройте агент, который сбрасывает кеш при истечении
ACTIVE_TOбаннеров — черезBXClearCache()с путём к кешу компонента - Используйте
CACHE_TYPE = 'N'для баннерных компонентов с частой сменой — нагрузка невелика, а кеш баннеров часто не нужен
Статистика кликов без модуля advertising
Для простого трекинга кликов по баннерам из инфоблока — AJAX-обработчик. При клике на баннер отправляете запрос на /local/ajax/banner_click.php?id=XXX, там инкрементируете счётчик в свойстве элемента через CIBlockElement::SetPropertyValues(). Дешёво и достаточно для базовой аналитики.







