Mailchimp API和可重复部分

时间:2011-02-14 10:43:40

标签: mailchimp

是否有人能够成功使用Mailchimp API来填充可重复的区域?

尝试了各种各样,但无济于事。

在模板中,我有:

div mc:repeatable

div mc:edit="repeat_content"

这表明数组应该是:

$content['repeat_content'][] = "Content 1";

$content['repeat_content'][] = "Content 2";

但是,在调用campaignTemplateContent

返回

array ['repeat_content'] = Content1Content2

在发送的电子邮件中没有任何内容被替换。

当我删除mc:repeatable div并且只有mc:edit时 - 内容被替换为正确。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:11)

每个可重复内容部分都有自己独特的mc:编辑标识符......

如果你使用templateInfo方法并查看“sections”数组的内容,你会看到每个都附加了一个索引号(00,01等......)

因此在您的示例中,代码将类似于: $ content ['repeat_content00'] =“内容1”; $ content ['repeat_content01'] =“内容2”;

等...

同样重要的是要注意,通过API你不能添加可重复的sectinns - 只填充现有的sectinns(你不能隐藏它们)....

mc:edit字段控制模板的各个部分。当您创建广告系列时,它会将模板复制到广告系列中(可通过camptaignTemplateContent方法查看)。

如果您在MailChimps网站上创建广告系列,请重复一个部分,然后调用campaignTemplateCOntent方法,您会发现它不包含重复的部分/内容... campaignTemplateContent是模板的原始副本。

现在,如果您调用campaignContent方法,您将看到带有重复部分/修改的html(和/或文本)内容......

这样想: 你有你的模板。 创建广告系列时,会将模板复制到广告系列(campaignTemplateContent)

在mailchimp的编辑器中编辑广告系列模板时,您可以重复各个部分..修改过的数据实际上存储在campaignTemplateContent部分...

MailChimp WYSIWYG编辑器(自定义CKEditor)使用mc:edit,mc:repeatable和mc:hidable标签来编辑campaignContent(我确信编辑器也来自campaignTemplateInfo)。但是这些标签对API没什么意义.API只是拉动mc:编辑字段来确定自定义内容部分......

最终,如果您需要API的自适应模板,您应该在客户端创建内容,然后将其传递给mailchimp。


我刚刚发现一个有趣的观察结果:MC编辑器从原始模板中提取并将已编辑/可编辑的值存储在campaignTemplateContent中...(渲染的版本存储在campaignContent中......)

campaignTemplateContent按照模板mc:edit fields ..

的顺序排序

因此,当您修改模板时,campaignTemplateContent字段将根据新模板重新排序......

此外,在制作广告系列后 - 如果您修改模板并删除某个部分,该部分仍会存储在campaignTemplateContent ...

很有意思,因为在这个混乱中的某个地方是过度订购/排序问题的逻辑