在 Mandrill 车把合并变量中使用 HTML

Posted

技术标签:

【中文标题】在 Mandrill 车把合并变量中使用 HTML【英文标题】:Using HTML in Mandrill handlebar merge variables 【发布时间】:2015-07-20 10:56:36 【问题描述】:

如果我的模板中有一个把手合并变量,如 message,如果在 php 中给出以下内容,我如何让它呈现 html 输出:

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

现在它在不解析段落标签的情况下输出内容。

【问题讨论】:

【参考方案1】:

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

html_content

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

不支持在单个消息中将 Handlebars 与 mc:edit 区域或合并标签结合使用。您应该选择 Handlebars 或 mc:edit region plus merge tags。

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

【讨论】:

【参考方案2】:

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

'merge_language' => 'handlebars'

它有效。对于您的情况,我认为该值是默认的“mailchimp”,因此需要使用 mc:edit

【讨论】:

这是真正的问题。谢谢你。 应该这样做! 这只是修复了我的 1 小时搜索以使车把工作,如果可以的话,我会给你 1000+。 merge_language: 'handlebars' 为我在节点中【参考方案3】:

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

&lt;div mc:edit="message"&gt;&lt;/div&gt;

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

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

【讨论】:

以上是关于在 Mandrill 车把合并变量中使用 HTML的主要内容,如果未能解决你的问题,请参考以下文章

mandrill、merge_vars 和车把阵列问题

如何在山魈的车把表达式内发送花括号?

尝试从 Mandrill 发送电子邮件时出现 html 或车把编码问题

“this”似乎在车把“每个”助手中的旧迭代中具有价值(在 mandrill 模板中使用)

mandrill 车把每个循环 - 如何检查奇怪的项目

Mandrill — 如何格式化车把模板的复杂数据