loops - MailJet 嵌套循环

标签 loops email html-email templating-engine mailjet

我们正在使用 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":[
                ]
            },
        ]
    ]
}

最佳答案

如果您想在 tripSegment.breaks 上循环,它应该表示为数组而不是对象。

我设法创建了一个适用于我的示例,其值与您使用的值相同。

'Vars' => [ 
        "trips"=>[ 
            'trips1' =>[
        'id'=> 123,
        'totalDistance'=> 10, 
        'tripSegments' => [ 
            ['breaks' =>[['duration'=>1],['duration'=> 2]]],
            ['breaks' =>[['duration'=>1],['duration'=> 2]]],
            ['breaks' =>[['duration'=>1],['duration'=> 2]]]
                          ]
                       ]    
                  ]
      ]

关于loops - MailJet 嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869123/

相关文章:

java - 询问用户输入后无限循环

swift - MFMailComposeResult 常量不能在 Swift 2.3 中编译

java - 如何从JAVAMAIL中的不同文件夹中获取电子邮件?

ruby-on-rails - Rails ActionMailer 附件留空正文

css - 并排表格在 Outlook 中不起作用

linux - AWK:从另一个文件添加新字段

php - 如何隐藏错误 "Trying to get property of non-object"

java - 在二维数组中打印字母?第一个字母不显示

php - PEAR 邮件不发送但也不报告错误

email - Gmail session 分组(线程)导致 HTML 电子邮件格式问题