
- MODX 3
- PHP 8.2
- Vue 3


Выводим один баннер в позиции sidebar и проверяем учёт клика.
You need to install pdoTools to use this snippet!.Откройте Компоненты → BannerPro → Позиции и создайте позицию:

| Поле | Значение |
|---|---|
| Название | sidebar |
| Контекст | Пусто (все контексты) или web |
Имя позиции стабильнее ID: его видно в шаблоне и оно не меняется между стендами.
Без позиций кнопка Новый баннер покажет предупреждение. Сначала создайте слот.
Откройте вкладку Баннеры. Пока настройка не завершена, панель «Настройка BannerPro» покажет чеклист: позиции, баннеры, привязки, плагин Clickout, опционально учёт показов.
Создайте запись (Новый баннер или Создать из шаблона):
| Поле | Что указать |
|---|---|
| Название | Внутреннее имя баннера |
| Тип | Изображение или HTML (вкладка «Основное») |
| URL | [[~5]] для ресурса MODX или внешний адрес |
| Изображение / HTML | Контент баннера |
| Активен | Да |
| Позиции | sidebar |
Для первого теста оставьте даты на вкладке Показ пустыми. Баннер будет работать без ограничения по времени.

Подробно по экранам: Админка.
Добавьте вызов в шаблон или чанк сайта.
{'!BannerPro' | snippet : [
'positionName' => 'sidebar',
'tpl' => 'byAd',
'limit' => 1
]}[[!BannerPro?
&positionName=`sidebar`
&tpl=`byAd`
&limit=`1`
]]Сниппет по умолчанию сортирует баннеры через RAND(), поэтому такой вызов не кэширует HTML.
Откройте страницу с баннером. В HTML ссылка должна вести на адрес вида:
/bannerclick/4242 в URL: ID связи в bannerpro_ads_positions, плейсхолдер [[+adposition]].
Клик по ссылке запускает плагин BannerProClickout на событии OnPageNotFound, пишет запись в bannerpro_clicks и перенаправляет посетителя на URL баннера.
Если нужна статистика показов, включите настройку bannerpro_track_impressions.
После этого сниппет оборачивает баннер в data-bannerpro-impression, подключает impression.js и отправляет pixel-запрос:
/bannerimpression/{adposition}Плагин BannerProImpression должен быть включён на OnPageNotFound.
| Что проверить | Ожидаемый результат |
|---|---|
| Страница с вызовом сниппета | Вы видите баннер |
| Исходный код | Ссылка содержит bannerclick/{adposition} |
| Клик по баннеру | Открывается URL баннера |
| Вкладка Статистика | Счётчик кликов растёт после первого клика с IP за сутки |
bannerpro_track_impressions = Да | В HTML есть data-bannerpro-impression |
