Редактору потрібно терміново замінити банер на головній — він заходить у модуль 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С-Бітрікс.







