【问题标题】:MailJet: A template language occurred when sending a message using Template [ID]MailJet:使用模板 [ID] 发送消息时出现模板语言
【发布时间】:2022-08-19 20:15:39
【问题描述】:

在测试一个邮递带有简单自定义 html 代码块的电子邮件模板。收到的测试电子邮件会引发错误。 (浏览器中的实时预览工作正常)

模板语言错误@mailjet.com

使用模板 [ID] 发送消息时出现模板语言:表达式解析错误 ## 未知标识符:object.field1 ## near ## {{ object.field1 ##

以下代码在 html 块内使用:

{% for object in var:objects %}
<tr>
  <td>{{ object.field1 }}</td>
  <td>{{ object.field2 }}</td>
  <td>{{ object.field3 }}</td>
  <td>{{ object.field4 }}</td>
</tr>
{% endfor %}

以下数据用于测试:

{
  \"Data\": {},
  \"Variables\": {
    \"objects\": [
      {
        \"field1\": \"field1 value 1\",
        \"field2\": \"field2 value 1\",
        \"field3\": \"field3 value 1\",
        \"field4\": \"field4 value 1\"
      },
      {
        \"field1\": \"field1 value 2\",
        \"field2\": \"field2 value 2\",
        \"field3\": \"field3 value 2\",
        \"field4\": \"field4 value 2\"
      }
    ]
  }
}

我不明白这有什么问题。欢迎帮助,谢谢!

  • 这个问题有什么解决办法吗?我面临同样的问题。
  • 不,还在待办事项清单上:/
  • 好的。我只是在 mailjet 支持处开一张票。然后希望可以帮助我。
  • 太好了,让我们更新!

标签: html json for-loop object mailjet


【解决方案1】:

我有同样的问题。尝试将其更改为:

{% for object in var:objects %}
  <td>{{ object.field1 }}</td>
  <td>{{ object.field2 }}</td>
  <td>{{ object.field3 }}</td>
  <td>{{ object.field4 }}</td>
{% endfor %}

这对我有用。

【讨论】:

    【解决方案2】:

    好的,对我来说问题出在文本模式编辑器中。因为默认情况下,“自动生成纯文本版本”设置是打开的,但文本版本不支持 for 循环。

    因此,当自动生成文本版本时,for 循环已被删除,但变量,如您的示例中的 {{ object.field1 }} 仍然存在。这就是导致错误的原因。

    【讨论】:

      猜你喜欢
      • 2019-05-30
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2012-11-29
      • 2019-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多