Разработчикам
Шаблоны и поля
Руководство разработчика PageCharm
Как шаблон превращает редакторскую форму в контракт для Razor-представления.
Шаблон
Шаблон содержит alias, имя, флаг дочернего контента и ссылку на представление. Если ViewId пустой, контент доступен в API и админке, но не рендерится публично.
Галочка SEO параметры включает системную группу SEO в форме контента. Поля появятся после «Основное» и «Настройки», но до пользовательских групп шаблона.
Галочка Управление датой публикации включает обязательное системное поле «Дата и время публикации». Активный материал с будущей датой не попадает на публичные страницы, в списки через Active() и в sitemap.xml; по прямому URL он также возвращает 404. После наступления указанного момента материал становится доступен автоматически.
Поля
Поля группируются в секции. Поддерживаются строки, HTML, числа, даты, JSON, медиа, видео, теги, ссылки на контент и списки контента. В Razor они читаются через alias.
Поле Tags хранит выбранные значения как редакторское JSON-значение и отдельно связывает контент с таблицей тегов. Поэтому в представлении можно просто вывести Model.Content.GetTags("topics"), а в запросах использовать WithAnyTags, WithAllTags или WhereTagsContain. Максимальное количество тегов задается в настройках поля так же, как у картинок, файлов и видео.
Для Tags выбирается словарь значений и флаг «Разрешить новые значения». Если флаг выключен, редактор выбирает только существующие значения словаря. Для Select можно выбрать источник «Словарь» вместо ручного списка вариантов; тогда в контенте хранится alias значения, а сам список управляется в разделе «Словари».
Правила контекста
Для блока или конкретного родителя задается список разрешенных шаблонов. Это позволяет, например, разрешить внутри документации только страницы документации.
Пример
var title = Model.Content.Get<string>("headline");
var body = Model.Content.Get<string>("body");
<h1>@title</h1>
@Html.Raw(body)
Alias важнее подписи
Имя поля можно менять для редактора, а alias должен оставаться стабильным: на него смотрит код представления.