これまでのところ正常に動作する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":[
]
},
]
]
}