我将电子邮件模板从Mandrill移动到邮戳,这需要将Handlebars转换为Mustachio。在Handlebars我有这样的事情:
{{#if some_variable}}
<p>This text uses variable: {{some_variable}}
{{/if}}
根据Mustache文档,转换后应该如下所示:
{{#some_variable}}
<p>This text uses variable: {{some_variable}}
{{/some_variable}}
问题在于Postmark的Mustachio使用了范围(https://github.com/wildbit/mustachio/wiki#scoping),所以在这种情况下它需要遵循JSON模型:
{
"some_variable": {
"some_variable": "some_variable_value"
}
}
而不是
{
"some_variable": "some_variable_value"
}
有谁知道如何关闭Mustachio的范围,所以它使用了预期的模范JSON模型?到目前为止,我看到的唯一解决方法(脏的)是在这个嵌套的对象形式中传递模板模型,但我已经发现它在所有情况下都不起作用。在此先感谢,任何帮助表示赞赏。
答案 0 :(得分:0)
好的,找到了一个问题的答案。根据文档https://github.com/wildbit/mustachio/wiki#inverted-groups-or-how-to-make-placeholders,在这种情况下我应该做的是:
{{#some_variable}}
<p>This text uses variable: {{.}}</p>
{{/some_variable}}
然后发送JSON模型,如:
{
"some_variable": "some_variable_value"
}
将导致
<p>This text uses variable: some_variable_value</p>
因此,问题的答案是使用指向标记值的 {{。}} 运算符。