Фрейм news
Главная раздела новостей: заголовок и лид, чипы рубрик, сетка карточек по три и ссылки на страницы разбивки.
| Где стоит | фрейм страницы: /news/ |
| Что читает | page.title, page.description, page.slug, page.paged, наборы news_cats, news_posts, news_pager |
| Что вкладывает | siteheader, sitefooter |
Разметка
<h1 class="opnews__masthead-title" data-op-bind='{"text":"page.title"}'></h1>
<p class="opnews__masthead-lead" data-op-bind='{"text":"page.description"}'></p>
<div class="opnews__intro prose"><!-- onpress/content /--></div>
<nav class="opnews__cats">
<!-- onpress/repeat {"source":"news_cats","match":{"on":"page.slug"}} -->
<a class="opnews__chip" data-op-bind='{"href":"item.url","text":"item.title","class":"item.cls","aria-current":"item.current"}'></a>
<!-- /onpress/repeat -->
</nav>
<div class="opnews__grid">
<!-- onpress/repeat {"source":"news_posts","limit":3,"offset":"(page.paged - 1) * 3"} --> <article class="opnews__card"> … </article> <!-- /onpress/repeat -->
</div>
<nav class="opnews__pager">
<!-- onpress/repeat {"source":"news_pager","match":{"cat":"page.slug","on":"page.paged"}} --> <a class="opnews__pager-link" …></a> <!-- /onpress/repeat -->
</nav>
Данные
Все списки — обычные наборы сайта, их пишет тот, кто ведёт новости: news_posts (slug, url, title, lead, category, category_title, date, img, alt), news_cats (чипы с полем on — на какой странице чип активен, cls, current), news_pager (ссылки разбивки с полями cat и on). Номер страницы разбивки — page.paged из ?blog_page=N. Новая новость — строка в news_posts и страница на фрейме news__post.