Как отправлять переменные, такие как {поле контакта=идентификатор}, в кампании по электронной почте MAUTIC?

#php #symfony #email #mautic

Вопрос:

Я хочу отправить {contactfield=id} (одну из переменных mautic) в пользовательские заголовки для почты, которая будет использоваться для кампании. Я не уверен, как правильно его отправить. Я сохраняю эту переменную в пользовательских заголовках в разделе Каналы > Электронные письма> и выбираю дополнительные настройки конкретного письма и настраиваемые заголовки. Это устанавливает значение идентификатора первого контакта в списке контактов сегмента, выбранного для кампании, для всех остальных контактов. Я хочу получить динамическое значение идентификатора каждого контакта соответственно. Как я могу получить этот подходящий результат? Заранее спасибо.

Комментарии:

1. Пожалуйста, укажите вашу проблему и сообщите о ней более подробную информацию.

Ответ №1:

В последний раз, когда я проверял, не все поля в конструкторе электронной почты могут содержать токены. Я помню, что Тело и Субъект допускают это, но были некоторые другие области, которые этого не допускали.

Похоже, вы получаете правильный токен, поэтому, если он не возвращается в заголовке на основе вашего тестирования, это поле может не быть проанализировано для токенизации при обработке.

Комментарии:

1. можем ли мы внести некоторые изменения в код для достижения этой цели? Можете ли вы сообщить мне файлы, в которых выполняется этот код?

2. как мы можем внести какие-либо изменения в левую боковую панель mautic ? Есть какие-нибудь зацепки к этому ? Я хочу удалить несколько меню с боковой панели, таких как календарь, компании и т. Д. Заранее спасибо

3. @ShivangTrivedi, вы создаете плагин в Mautic, для которого вам нужно добавить боковую панель чего-либо еще?

Ответ №2:

Как отметил Джордан Райан, не все токены доступны в разделе «Электронная почта», однако объект электронной почты можно использовать, создав пользовательский плагин.

https://developer.mautic.org/#extending-emails ознакомьтесь с этим разделом, это может помочь.

Второй пример в блоке кода показывает, что вы можете разместить свой пользовательский заполнитель, а затем заменить его программно.

 /**
 * Search and replace tokens with content
 *
 * @param EmailSendEvent $event
 */
public function onEmailGenerate(EmailSendEvent $event)
{
    // Get content
    $content = $event->getContent();

    // Search and replace tokens
    $content = str_replace('{hello}', 'world!', $content);

    // Set updated content
    $event->setContent($content);
}