是否有人能够成功使用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时 - 内容被替换为正确。
非常感谢任何帮助!
答案 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 ...
中很有意思,因为在这个混乱中的某个地方是过度订购/排序问题的逻辑