如何使用 SDL Tridion 2009 GUI 一次将一个页面发布到多个子出版物?
这是我想要实现的一个示例:我有一个名为“Global”的出版物,一个名为 home.aspx 的页面,然后是两个子出版物(英国和美国)。我想同时发布两个子 home.aspx 页面,可以吗?
如何使用 SDL Tridion 2009 GUI 一次将一个页面发布到多个子出版物?
这是我想要实现的一个示例:我有一个名为“Global”的出版物,一个名为 home.aspx 的页面,然后是两个子出版物(英国和美国)。我想同时发布两个子 home.aspx 页面,可以吗?
您需要将您的父(全局)发布与子页面也需要发布的发布目标相关联。
不幸的是,这意味着您的“全球”页面也将发布到服务器。您可以围绕此编写一个自定义解析器以从已发布的 zip 包中删除该页面,但这需要一些开发工作来实现。
Bart Koopman 写了一篇文章,解释了如何在这里做到这一点:http ://www.tridiondeveloper.com/no-faking-publish-from-a-parent-publication-without-faking-a-publication-target
要通过选择发布母版页来发布子出版物中的页面,您可以使用事件系统。由于您使用的是 Tridion 2009,因此您需要使用 COM+ 事件系统(不能使用新的 TOM.NET)。
逻辑应如下所示:您可能希望将发布元数据模式放在父发布上,该模式将指定此级联发布应适用的子发布的 ID(或创建配置组件)。您还需要为子发布指定要发布到的发布目标。
在 OnPublishPre(或 Post)事件中,使用 TOM API 获取子出版物中的页面并执行 page.Publish()。
这里的优点是内容管理者/发布者不必担心必须进入“高级”选项卡并选择其他选项。
如果您想在多个子出版物中发布同一页面,请单击发布对话框的高级选项卡,然后选中“也在子出版物中发布”复选框。
在这篇文章http://www.tridiondeveloper.com/no-faking-publish-from-a-parent-publication-without-faking-a-publication-target中有更多关于这种方法的信息。
根据您的父出版物是否应该实际发布,您可能需要考虑John Winter 或 Nickoli Roussakov 在本页其他答案中提供的自定义解析器或事件系统解决方案之一。