带有测试数据和数组的 Sendgrid 模板
Sendgrid templates with test data and arrays
我有一些测试数据如下所示:
{
"firstName":"Ben",
"products": [{
"name": "first product",
"position": 0
}, {
"name": "second product",
"position": 1
}, {
"name": "third product",
"position": 2
}]
}
在我的模板中,我有这样的东西:
<p>Hi {{firstName}}</p>
效果很好。
现在我想遍历我的产品
所以我尝试了这个:
{{#each products}}
{{#if this.position == 0}}
<h1>{{this.name}}</h1>
{{else}}
<h2>{{this.name}}</h2>
{{/if}}
{{/each}}
但是没用。
我也找不到任何关于执行 if 语句的文档。我找到的最接近的是:
https://sendgrid.com/docs/ui/sending-email/using-handlebars/
它谈到 "Basic If, Else, Else If" 这表明有更高级的版本,但我找不到它的文档....
有谁知道我做错了什么吗?
PS:我的示例只是为了这个 post.
进行了简化
看起来 SendGrid 文档只是使用 Basic If...
来区别于 If with a Root 的下一部分。他们在页面上方的部分使用了相似的标题。
基于此,它们似乎没有 "if value equals" 的逻辑,只有 "if field exists",因此您需要更新 JSON 才能使用该格式,比如他们在 later examples.
您需要的是以下结构:
{{#equals city_code avl}}
AVL
{{else}}
Not AVL
{{/equals}}
见https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/#conditional-statements。
{{if anything}}
只检查 anything
是真还是假;你无法将它与某物进行比较。
我有一些测试数据如下所示:
{
"firstName":"Ben",
"products": [{
"name": "first product",
"position": 0
}, {
"name": "second product",
"position": 1
}, {
"name": "third product",
"position": 2
}]
}
在我的模板中,我有这样的东西:
<p>Hi {{firstName}}</p>
效果很好。 现在我想遍历我的产品
所以我尝试了这个:
{{#each products}}
{{#if this.position == 0}}
<h1>{{this.name}}</h1>
{{else}}
<h2>{{this.name}}</h2>
{{/if}}
{{/each}}
但是没用。 我也找不到任何关于执行 if 语句的文档。我找到的最接近的是:
https://sendgrid.com/docs/ui/sending-email/using-handlebars/
它谈到 "Basic If, Else, Else If" 这表明有更高级的版本,但我找不到它的文档....
有谁知道我做错了什么吗?
PS:我的示例只是为了这个 post.
进行了简化看起来 SendGrid 文档只是使用 Basic If...
来区别于 If with a Root 的下一部分。他们在页面上方的部分使用了相似的标题。
基于此,它们似乎没有 "if value equals" 的逻辑,只有 "if field exists",因此您需要更新 JSON 才能使用该格式,比如他们在 later examples.
您需要的是以下结构:
{{#equals city_code avl}}
AVL
{{else}}
Not AVL
{{/equals}}
见https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/#conditional-statements。
{{if anything}}
只检查 anything
是真还是假;你无法将它与某物进行比较。