Как показать неопубликованные блоки в предварительном просмотре страницы (оптимизируемо CMS 12) ~ Код Аднана Nexus

Введение

В этом посте мы рассмотрим, почему черновые блоки не показывают в предварительном просмотре страницы по умолчанию, и я покажу вам чистое решение для его исправления. Результат? Редакторы получают более точные «То, что вы видите, это то, что вы публикуете» Опыт – больше нет скрытых черновых блоков.

Проблема: Предварительный просмотр не показывает черновики

По умолчанию, когда вы нажимаете Предварительный просмотр В оптимизированном CMS 12 (без использования проектов) система ведет себя как режим просмотра. Это означает:

  • ContentAreaRenderer Только режим редактирования как «состояние редактора»
  • IContentAreaLoader выводы опубликованные версии даже в предварительном просмотре

Так что черновые блоки исчезают. Это сбивает с толку редакторы.

Примечание на проектах против обычного предварительного просмотра

Если вы когда -либо задумывались, почему черновики иногда уже появляются в предварительном просмотре:
Оптимизированные проекты может предварительно просмотреть проект контента, который является частью активного проекта. Это предварительный просмотр проекта. Внешние проекты, предварительный просмотр по умолчанию ведет себя больше как публичное представление, поэтому неопубликованные блоки не показывают.

Обзор решения

Вот что мы собираемся сделать:

  1. Сделать предварительный просмотр, как редактировать в ContentAreaRenderer
  2. Заменять IContentAreaLoader Таким образом, он загружает последнюю версию (которая может быть черновиком) в предварительном просмотре/редактировании
  3. Зацепите их в свой контейнер с DI – без внутренних типов, без круглых зависимостей

1) Предварительный просмотр ведет себя как редактирование в рендерере

Это означает, что рендерер перестает пропускать черновые блоки в предварительном просмотре – точно так же, как в редактировании.

2) Погрузчик возвращает последний в предварительном просмотре

Предоставляя свой собственный IContentAreaLoaderты можешь:

  • В предварительном просмотре/редактировании: разрешить последнюю версию (черт, если таковой имеется)
  • Ввиду: возвращайтесь к опубликованному контенту
Read more:  Законодатели Гонконга проголосуют против расширения прав однополых паров, в Blowor to Equality

Таким образом, предварительный просмотр отражает текущую работу редактора – не устаревший опубликованный контент.

3) Очистите в настройке

Зарегистрировать пользовательский рендеринг и погрузчик после services.AddCms() Используя фабричный метод:

Это избегает попыток разрешить внутренние типы или вызывая DI-петли- все остается простым и надежным.

Исход

  • Редакторы смотрите в предварительных просмотрах (даже внешние проекты)
  • Общественные пользователи по -прежнему видят только опубликованный контент
  • Опыт кажется последовательным и надежным

Ещё по этой теме

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.