gpt4 book ai didi

tridion - 如何使用 TOM.NET 检查发布或呈现上下文?

转载 作者:行者123 更新时间:2023-12-04 23:24:52 25 4
gpt4 key购买 nike

SDL Tridion 的内容管理器模板 API (TOM.NET) 提供了检测发布或呈现上下文的方法。

用例

  • 向特定环境提供调试信息(例如,仅在 Staging 上使用 TCM Uris)
  • 在预览中显示不同的标记(例如显示指向已发布页面的链接)
  • 在 Experience Manager 或 SiteEdit 中显示不同的可创作字段

  • 我已经看到并尝试了一些例子,但在跟随同事之间的聊天后 StanEric ,我想确保我遵循 TOM.NET (6.1/Tridion 2011)。

    场景
  • 发布到特定的发布目标 (通常是“现场”和“舞台”)
  • 内容管理器资源管理器 (CME) 预览
  • session 预览 Experience Manager (XPM) 渲染
  • (已添加)模板生成器

  • 1. 发布到目标(或从出版物)

    Tridion.ContentManager.Publishing.PublishEngine.GetPublishInfo(IdentifiableObject item)

    项目将是一个页面或组件。这将返回 PublishInfo 的集合对象,其中包括 PublicationTarget 以确认您要发布到的位置。
    Tridion.ContentManager.Templating.PublishingContext.PublicationTargetPublicationTarget以及。

    2. 芝商所预览

    出版目标是 null ,这是有道理的,因为您没有 Publication Target 。 :-)

    3. session 预览

    使用 RenderMode枚举下 Tridion.ContentManager.Publishing , 其中有:
  • '发布' (0)
  • 'PreviewStatic' (1)
  • '预览动态' (2)

  • PublicationTarget 不会是 null对于 session 预览,这并不是真正的发布。

    4.(添加)模板生成器

    ?

    Alexander Klock also describes some related examples除了 CME 预览之外,它涵盖了大部分内容。

    问题)
  • 我错过了任何场景吗? 发布到特定发布目标、定期预览和 XPM session 预览?
  • 我应该如何避免硬编码 PublicationTargets(例如检查字符串值而不是 TCM Uris 更好)?
  • 更新:根据 Vikas 的回答,将模板生成器添加到列表中,我怎么知道我正在 Template Builder 中渲染?
  • 最佳答案

    您展示了完整的发布/预览模型的非常好的 View 。这是我的想法..

    Are we missing any scenarios? 

    我认为您涵盖了模板构建器案例之外的所有内容,这类似于 CME 预览,其中我们将发布目标设为 null,但可用于检查不同的条件,这对于调试目的非常重要。
    How should I avoid hard-coding PublicationTargets  

    是的,我们永远不应该在任何代码中使用 tcm uri,因为您建议我们可以使用名称,甚至可以在该程序的相应配置文件中配置名称。

    在这里也可能不相关,除了暂存之外,为 Tridion UI 编辑设置单独的目标总是好的。两者都可以在具有两个部署者的同一台服务器上进行配置。一个可能是 staging.yoursite.com,另一个可能是 tridionui.yoursite.com

    谢谢..

    关于tridion - 如何使用 TOM.NET 检查发布或呈现上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14568861/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com