带有把手“每个循环”的 Mandrill API 不起作用

使用 Mandrill API 发送交易时事通讯时遇到问题。我为模板参数选择了 Handlebars。用户名显示正确,但列表中的数据(帖子标题)为空。请帮助指出我是否做错了什么。谢谢!


模板如下,发送到端点/messages/send.json:


func genHTMLTemplate() string {

    return "code generated template<br>" +

        "Hi {{name}}, <br>" + 

        "{{#each posts}}<div>" +

        "TITLE {{title}}, THIS {{this}}<br>" +

        "</div>{{/each}}"

}

mandrillapp.com 中我的设置面板中的 API 日志显示参数:


{

"key": "xxxxxxxxxx",

"message": {

        :

    "merge_language": "handlebars",

    "global_merge_vars": null,

    "merge_vars": [

        {

            "rcpt": "xxxxxx@gmail.com",

            "vars": [

                {

                    "name": "posts",

                    "content": [

                        {

                            "title": "title A"

                        },

                        {

                            "title": "title B"

                        },

                    ]

                },

                {

                    "name": "name",

                    "content": "John Doe"

                }

            ]

        }

    ],

      :

    },

    :

}

下面是收到的电子邮件。“标题 A”和“标题 B”应在“TITLE”之后。


code generated template

Hi John Doe,

TITLE, THIS Array

TITLE, THIS Array


慕婉清6462132
浏览 258回答 3
3回答

Helenr

使用handlebars 作为合并语言时,'title' 是保留的helpername,它在handlebars 中使用,它使您的文本在标题中。如果您只执行 {{title}} 默认情况下,它会将空文本视为标题。尝试给它 {{title title}} 这应该有效或将键名更改为其他名称(如果您不希望标题出现在标题中)

幕布斯6054654

在此处使用 Mandrill 的示例代码进行测试后,我发现关键的“标题”不起作用。不知道原因(Mandrill 的保留关键字?)但将其替换为“title1”、“titleX”或其他可以正确呈现的内容。{&nbsp; &nbsp; "name": "posts",&nbsp; &nbsp; "content": [&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"title": "blah blah"&nbsp; // "title1" or something else works&nbsp; &nbsp; &nbsp; &nbsp; },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go