4

我有模板代码(2011 SP1),它通过检查来检测是否正在使用 CMS 预览engine.RenderMode(应该是PreviewDynamic)。然后,这将确保通常由应用服务器为已发布页面添加的内容(如 CSS、JS、导航元素等)被注入到渲染输出中,因此预览在 CMS 中看起来不错。

Tridion 2012 UI/XM 为动态预览创建临时文件,结果在 Publishing these files 中,渲染模式也是PreviewDynamic,这给了我一个问题,因为在页面实际发布的情况下,我不想要注入东西(在这种情况下,应用服务器使用 .NET 母版页来处理这个问题)

查看RenderMode.NET API 中的可能值,我们有PublishPreviewStaticPreviewDynamic.

所以我的问题是:

  1. 如何区分模板代码中的 CMS 预览和动态预览
  2. 什么时候(如果有的话)是 RenderMode PreviewStatic
4

1 回答 1

5

我有一个部分解决方案(对于第一个问题)。如果您使用 和 的组合,RenderModeengine.PublishingContext.PublicationTarget可以检测 CMS 预览、动态预览和正常发布:

  • CMS 预览 - RenderMode: DynamicPreviewPublicationTarget:null
  • 动态预览 - RenderMode: DynamicPreviewPublicationTarget:not null
  • 正常发布 - RenderMode:PublishPublicationTarget:not null

仍然不确定何时使用 PreviewStatic...?

于 2012-10-17T08:47:41.540 回答