#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);
}