Проблемы с обнаружением, когда мы делаем CMS Preview и Dynamic Preview в 2012 UI/XM
У меня есть шаблон кода (2011 SP1), который определяет, использовался ли предварительный просмотр CMS путем проверки engine.RenderMode
(что будет PreviewDynamic
). Это тогда обеспечит, чтобы материал, который обычно добавлялся сервером приложений для опубликованных страниц (например, CSS, JS, элементы навигации и т. Д.), Вставлялся в визуализированный вывод, поэтому предварительный просмотр выглядит хорошо в CMS.
Tridion 2012 UI/XM создает временные файлы для динамического предварительного просмотра, и оказывается, что при публикации этих файлов режим рендеринга также PreviewDynamic
Это создает мне проблему, так как в ситуации, когда страница действительно публикуется, я не хочу вводить что-либо (сервер приложений позаботится об этом с помощью главной страницы.NET в этом случае)
Глядя на возможные значения для RenderMode
в.NET API мы имеем Publish
, PreviewStatic
, а также PreviewDynamic
,
Итак, мои вопросы:
- Как я могу определить разницу между CMS Preview и DYnamic Preview в коде шаблона
- Когда (если вообще) является RenderMode
PreviewStatic
?
1 ответ
У меня есть частичное решение (для первого вопроса). Если вы используете комбинацию RenderMode
и engine.PublishingContext.PublicationTarget
Вы можете обнаружить CMS Preview против Dynamic Preview против Normal Publish:
- Предварительный просмотр CMS - RenderMode:
DynamicPreview
PublicationTarget: нулевой - Динамический предварительный просмотр - RenderMode:
DynamicPreview
PublicationTarget: не нуль - Обычная публикация - RenderMode:
Publish
PublicationTarget: не нуль
Все еще не уверен, когда PreviewStatic используется...?