在Mandrill车把合并变量

时间:2015-05-09 16:12:37

标签: php mailchimp mandrill

如果我的模板中有{{message}}之类的把手合并变量,如果在PHP中给出以下内容,如何让它呈现HTML输出:

array(
    'name' => 'message',
    'content' => '<p>First paragraph.</p><p>Second paragraph.</p>'
)

现在它输出内容而不解析段落标记。

3 个答案:

答案 0 :(得分:9)

如果您正在使用Handlebars,我认为正确的方法是使用三重括号,例如:

{{{html_content}}}

我不确定在Mandrill中将mc:edit与Handlebars混合是可以的:

  

不支持将Handlebars与mc:编辑区域或合并标签组合在一条消息中。你应该选择Handlebars或mc:编辑区域和合并标签。

https://mandrill.zendesk.com/hc/en-us/articles/205582537-Using-Handlebars-for-dynamic-content

答案 1 :(得分:7)

实际上,当使用mandrill发送时,消息变量有一个字段merge_language,当你改为这个

'merge_language' => 'handlebars'

有效。对于你的情况,我认为值是默认的'mailchimp',因此需要使用mc:edit

答案 2 :(得分:3)

要回答我自己的问题,我只是将mc:edit="message"添加到包含该消息的div中,如下所示:

<div mc:edit="message"></div>

然后我将其添加到我的结构中:

$template_content = array(
    array(
        'name' => 'message',
        'content' => '<p>First paragraph.</p><p>Second paragraph.</p>'
    ),
);