
- MODX 3
- PHP 8.2
- Vue 3


Добавляет UTM-параметры из реестра панели управления к произвольному URL: ссылка получает метки текущего визита, query string в шаблоне собирать не нужно. Значения берутся из query string, $_SESSION['utm'] или default_value записи в pb_utm_params.
Шаблон, chunk секции (через MODX), кнопки вне PageBuilder. Для полей url/button внутри секций удобнее {{utm:key}} в инспекторе.
| Параметр | По умолчанию | Описание |
|---|---|---|
url | пусто | Целевой URL. Пустой → пустой ответ |
params | пусто | JSON с дополнительными query-параметрами. Ключи из params перекрывают реестр |
[[!PageBuilderUtmUrl?
&url=`https://example.com/landing`
]]{'!PageBuilderUtmUrl' | snippet : [
'url' => 'https://example.com/landing'
]}[[!PageBuilderUtmUrl?
&url=`/contacts/`
¶ms=`{"utm_content":"hero-cta"}`
]]{'!PageBuilderUtmUrl' | snippet : [
'url' => '/contacts/',
'params' => '{"utm_content":"hero-cta"}'
]}Плагин pagebuilder регистрирует модификатор на событие pdoToolsOnFenomInit, которое вызывает pdoTools:
<a href="{$button.url|utm_query}">{$button.label}</a>Второй аргумент модификатора — массив дополнительных query-параметров (перекрывают реестр, как ¶ms= у сниппета):
<a href="{$button.url|utm_query:['utm_content' => 'hero-cta']}">{$button.label}</a>Для URL из данных секции это эквивалент вызова сниппета.
Чтобы в ссылку попали метки первого захода, перед отрисовкой вызовите PageBuilderUtmSession или полагайтесь на плагин PageBuilder.