Tridion 在2012 UI/XM中执行CMS预览与动态预览时检测问题
我有一个模板代码(2011 SP1),它通过检查Tridion 在2012 UI/XM中执行CMS预览与动态预览时检测问题,tridion,tridion-2011,Tridion,Tridion 2011,我有一个模板代码(2011 SP1),它通过检查engine.RenderMode(即PreviewDynamic)来检测是否正在使用CMS预览。这将确保通常由应用服务器为发布的页面添加的内容(如CSS、JS、导航元素等)被注入到呈现的输出中,以便在CMS中预览效果良好 Tridion 2012 UI/XM为动态预览创建临时文件,结果表明,在发布这些文件时,渲染模式也是PreviewDynamic,这给了我一个问题,因为在实际发布页面时,我不想插入内容(在这种情况下,应用程序服务器通过.NET母
engine.RenderMode
(即PreviewDynamic
)来检测是否正在使用CMS预览。这将确保通常由应用服务器为发布的页面添加的内容(如CSS、JS、导航元素等)被注入到呈现的输出中,以便在CMS中预览效果良好
Tridion 2012 UI/XM为动态预览创建临时文件,结果表明,在发布这些文件时,渲染模式也是PreviewDynamic
,这给了我一个问题,因为在实际发布页面时,我不想插入内容(在这种情况下,应用程序服务器通过.NET母版页处理此问题)
查看.NET API中RenderMode
的可能值,我们有Publish
、PreviewStatic
和PreviewDynamic
因此,我的问题是:
PreviewStatic
何时(如果有)RenderMode
和引擎.PublishingContext.PublicationTarget
可以检测CMS预览、动态预览和正常发布:
- CMS预览-渲染模式:
PublicationTarget:nullDynamicPreview
- 动态预览-渲染模式:
PublicationTarget:不为空DynamicPreview
- 正常发布-渲染模式:
PublicationTarget:不为空Publish
我仍然不确定什么时候使用PreviewStatic…?我已经检查过了,我找不到使用PreciveStatic的情况,我甚至检查了非复合模板,但仍然是PreviewDynamic。我将尝试解决这个问题。。。