我们正在使用 mailJet 构建我们的电子邮件,到目前为止效果很好。我们当前的问题是,我们希望在循环中的循环中有一个循环(所以嵌套循环)第一个循环工作正常,第二个内部循环工作正常,但第三个不再工作:
{% for trip in var:trips %}
{{trip.id}}
{% for tripSegment in trip.tripSegments %}
{% for tripBreak in tripSegment.breaks %}
{{tripBreak.duration}}
{% endfor %}
{% endfor %}
Distance: {{trip.totalDistance}} km
{% endfor %}
这在我们的模板中。如果我删除带中断的内部循环,一切都很好。
如果我启用模板错误报告,我会收到以下消息:
X-MJ-ErrorMessage: "tripSegment.breaks" is not an array value
但是如果我尝试使用 {{tripSegment.breaks}} 打印它,我会收到以下消息:
X-MJ-ErrorMessage: Array values cannot be printed: tripSegment.breaks
并且该字段绝对是一个数组,例如trips或tripSegments,因此基本上它应该可以工作。
MailJet 中的嵌套循环我做错了什么?
编辑:
我发送到 Mailjet 的对象结构如下所示:
"Vars": {
"trips": [
"id": 1,
"tripSegments":[
{
"id":2,
"distance": 100,
"breaks":[
{
"duration":15
},{
"duration":20
}
]
},{
"id":3,
"distance": 200,
"breaks":[
{
"duration":10
},{
"duration":30
}
]
},{
"id":4,
"distance": 200,
"breaks":[
]
},
]
]
}