Sitecore ECM 2.1 - 分支,子布局和动态数据源

时间:2014-04-09 07:48:39

标签: sitecore datasource newsletter sitecore-ecm sublayout

这是我第一次实施Sitecore ECM功能。我已经将一些html模板切割成布局和子布局,创建了我需要的数据源,并创建了一个分支模板,$name项设置为模板" AB Testable message"。

关注Frank Rooijen的博文:http://www.newguid.net/sitecore/2013/building-custom-newsletter-templates-for-sitecores-ecm-2-x/我已将$name中的正文字段设置为转到我的留言根子,将所有子布局数据源设置为相关消息根的子项。

Andit一切正常!

我真正想知道的是,在从ECM Speak页面的创建/插入操作实例化之后,如何将子布局的数据源路径导出到新位置。

我一直在使用反射器来尝试获得一些洞察力,但我不认为我正在寻找合适的位置。

2 个答案:

答案 0 :(得分:2)

ECM包在/App_Config/Includes/Sitecore.EmailCampaign.config添加新的配置文件。在该文件中,您可以看到添加了一些新的事件处理程序,最值得注意的是:

<event name="item:added">
    <handler type="Sitecore.Modules.EmailCampaign.Core.ItemEventHandler, Sitecore.EmailCampaign" method="OnItemAdded" />
</event>
<event name="item:copied">
    <handler type="Sitecore.Modules.EmailCampaign.Core.ItemEventHandler, Sitecore.EmailCampaign" method="OnMessageCopied" />
</event>

如果您反编译Sitecore.EmailCampaign.dll并查看相应的类并按照代码进行操作,您将看到调用MessageRelationsCorrector.CorrectItemRelations(),它处理所有工作以替换新创建和复制的消息的DataSource的ID

答案 1 :(得分:0)

jammykam就是现场。

我添加的一件事(在敲了一下我的脑袋之后)是,即使处理首先检查模板来自AB Testable Message或其他电子邮件类型,实际更正项目关系仅在电子邮件模板完全其中一个内置模板(如AB Testable Message)时发生。不要尝试拥有自己的模板。叹息。