Плагин

Переменные (mergeTags)

Назначение. Объект mergeTags задаёт список подставляемых переменных для редактора: что показывать в выпадающем выборе и в каком синтаксисе вставлять значение в разметку (плейсхолдеры для вашей ESP/рассылки).

Где задаётся. В секции config при init, а также через setConfigupdateConfig и getConfig.

Связь с интерфейсом. Наличие данных в mergeTags не обязано совпадать с видимостью кнопки выбора переменных. За показ элемента UI отвечает отдельный флаг mergeTagsShow: при необходимости включите его, даже если список переменных приходит с задержкой.

Структура

ПолеТипОписание
syntaxмассив строкШаблоны подстановки. В каждой строке используется плейсхолдер %value% — на его место подставляется value выбранного пункта из items.
itemsдерево элементовЭлементы меню: либо лист { label, value }, либо группа { label, value, children?: [...] } для вложенного списка.

Если в syntax один элемент, для всех переменных используется один и тот же шаблон. Если несколько — редактор сопоставляет выбранный путь в иерархии с индексом шаблона (корневые ветки и разные форматы плейсхолдеров).

Пример

mergeTagsShow: true,
mergeTags: {
  syntax: ['{{%value%}}'],
  items: [
    {
      label: 'Системные',
      value: 'System',
      children: [
        { label: 'Имя получателя', value: 'ToName' },
        { label: 'Email получателя', value: 'Email' },
        { label: 'Ссылка отписки', value: 'UnsubscribeUrl' },
      ],
    },
    {
      label: 'Профиль',
      value: 'Profile',
      children: [
        { label: 'Город', value: 'city' },
        { label: 'Бонусные баллы', value: 'bonus_points' },
      ],
    },
  ],
},

При выборе «Email получателя» в контент может вставиться, например, строка {{Email}} (подстановка Email вместо %value%).

Где используется в редакторе. Тот же набор доступен в настройках текста, ссылок, изображений и карусели — везде, где включён выбор merge tags и передан mergeTags.

Значение по умолчанию

Если mergeTags не передан (undefined), подстановка из конфигурации недоступна; поведение плагина определяется только вашими остальными настройками и типом тарифа/конфига.