
BannerPro
BannerPro выводит баннеры по позициям через сниппет BannerPro, считает клики по URL /{bannerpro_click}/{adposition} и фиксирует показы через impression.js, если включён учёт. Админка на Vue 3 и PrimeVue через VueTools.
Namespace настроек: bannerpro. Таблицы: bannerpro_ads, bannerpro_positions, bannerpro_ads_positions, bannerpro_clicks, bannerpro_impressions.

Требования
| Компонент | Версия | Роль |
|---|---|---|
| MODX Revolution | 3.0+ | Платформа |
| PHP | 8.2+ | Сервер |
| pdoTools | 2.1+ | Выборка и рендер сниппета BannerPro |
| VueTools | актуальная | Vue 3 и PrimeVue в админке |
| MiniShop3 | опционально | Привязка баннера к товару и атрибуция заказа |
| CrawlerDetect | опционально | Фильтр ботов при bannerpro_filter_bots |
Возможности
- Позиции: слоты
sidebar,header,shop-product-sidebar. Вывод по имени или ID. - Типы баннеров: изображение или HTML. При заполненном URL HTML оборачивается в ссылку клика.
- Ротация:
RAND(),idx,weighted, A/B-деление (sortby=ab). - Таргетинг: расписание
show_hours, метки, привязка к ресурсу или родителю, лимитыmax_clicks/max_impressions. - Контекст: поле
context_keyу позиции. Сниппет фильтрует по текущему контексту MODX. - UTM: query-параметры при клике из системных настроек или вкладки «Настройки» админки.
- Webhook: POST JSON на внешний URL при клике и при показе, подпись HMAC.
- Фильтр ботов: исключение ботов из статистики через CrawlerDetect.
- Учёт кликов: плагин
BannerProClickoutнаOnPageNotFoundпишет клик и перенаправляет на URL баннера. - Учёт показов: настройка
bannerpro_track_impressionsподключаетimpression.jsи pixel URL. - Админка: пять вкладок (Баннеры, Позиции, Статистика, Журнал, Настройки), чеклист первой настройки, bulk-операции, режим «только статистика».
- Статистика: клики, показы, CTR, заказы MS3, CVR, воронка и сравнение с прошлой неделей.
- REST API v1.1:
assets/components/bannerpro/api.php. Баннеры, позиции, статистика, audit, шаблоны. Опционально POST/PATCH баннеров.
Минимальный путь
- Установите BannerPro, pdoTools и VueTools.
- Откройте Компоненты → BannerPro → Позиции и создайте позицию
sidebar. - Создайте баннер, задайте URL, изображение или HTML и привяжите его к позиции.
- В шаблоне сайта вызовите сниппет
BannerProсpositionName=sidebar. - Откройте страницу и проверьте ссылку
bannerclick/{adposition}.
fenom
{'!BannerPro' | snippet : [
'positionName' => 'sidebar',
'tpl' => 'byAd',
'limit' => 1
]}modx
[[!BannerPro?
&positionName=`sidebar`
&tpl=`byAd`
&limit=`1`
]]Поток клика
Быстрые ссылки
| Нужно | Документ |
|---|---|
| Установить и вывести первый баннер | Быстрый старт |
Проверить все ключи bannerpro_* | Системные настройки |
| Разобрать экраны админки | Админка |
| Разобрать кэш, ротацию, клики и показы | Интеграция |
| Посмотреть параметры сниппета | Сниппет BannerPro |
| Выводить баннеры в MiniShop3 | MiniShop3 |
| Отправлять события в GA4, Matomo или Метрику | Внешняя аналитика |
| Связать баннер с формой FormIt | FormIt |
| Подключить REST API | REST API |
| Найти причину пустого вывода | FAQ |
