PageCharm

Разработчикам

Шаблоны и поля

Руководство разработчика 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 должен оставаться стабильным: на него смотрит код представления.