PageCharm

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

Примеры

Руководство разработчика PageCharm

Готовые фрагменты кода для типовых задач в публичных представлениях.

Меню из CMS

Создайте блок навигации, шаблон пункта меню без представления и считывайте элементы в shared header.

Карточки и виджеты

Контент без View отлично подходит для карточек, баннеров, FAQ и списков ссылок. Он редактируется в админке, но не имеет публичной страницы.

Документация как дерево

Родительская страница может разрешать дочерние страницы. Представление родителя строит оглавление через ChildrenOf.

Поиск по данным

Для каталогов и подборок используйте SearchFields, WhereFieldEquals, range-фильтры, OrderByField, Skip и Take. Один query может работать сразу с несколькими блоками и шаблонами.

Пример

var cards = await Content.Active()
    .FromBlocks("principles", "code-examples")
    .WithTemplates("content-card", "code-example")
    .SearchFields("CMS", "title", "text")
    .OrderByField("title", CmsContentFieldSortType.Text)
    .ToListAsync();

foreach (var card in cards)
{
    <article>@card.Get<string>("title")</article>
}

Смотрите исходники

Откройте Views/Cms/PageCharmHome.cshtml и Views/Cms/PageCharmDocs.cshtml — они специально написаны как документационные примеры.