Вставки onpress/
Вставка — HTML-комментарий особого вида, который при сборке страницы заменяется разметкой: меню, телом страницы, списком из данных, другим фреймом. В браузере комментарий невидим, переживает экспорт из конструкторов и не мешает фигурным скобкам шаблонизаторов.
Синтаксис
<!-- onpress/menu {"place":"header"} /--> одиночная вставка
<!-- onpress/repeat {"source":"faq"} --> парная: открытие
<div data-op-bind='{"text":"item.q"}'></div> шаблон внутри
<!-- /onpress/repeat --> закрытие
<!-- onpress/content /--> без атрибутов
- После
<!--обязателен пробел, после имени — тоже (или сразу/-->). - Атрибуты — один JSON-объект с двойными кавычками. Битый JSON — атрибуты молча падают в значения по умолчанию, поэтому проверяйте JSON до загрузки.
- Неизвестное имя не выполняется: в разметке останется комментарий.
Основная форма и алиасы. Основная форма вставки — полное имя: <!-- onpress/имя {…} /-->, у парной — <!-- onpress/repeat … --> … <!-- /onpress/repeat -->. Для совместимости принимаются два алиаса: короткий <!-- op/menu {…} /--> и старый, с префиксом ядра, <!-- wp:op/menu {…} /-->. Все три формы разбираются одинаково и могут стоять рядом; хранится то, что вы прислали, байт в байт. В документации везде используется основная форма.
wp:onpress/… — это не вставка. Форма с wp: без изменений означает блоки плагина onpress-blocks — контент первой версии (wp:onpress/ai-assistant, wp:onpress/faq-items, wp:onpress/footer-columns). Голый onpress/… без wp: — всегда вставка из этого справочника, в том числе при совпадении имени: footer-columns есть и там, и там, и <!-- onpress/footer-columns /--> выводит вставку, а <!-- wp:onpress/footer-columns --> — блок плагина.
Вставки работают во фреймах и в теле страницы (в markdown строка <!-- onpress/… --> проходит в тело как есть). Когда вставке нечего вывести, на её месте остаётся поясняющий HTML-комментарий с пометкой вида op/menu: … — смотрите исходный код страницы, если что-то не появилось. Пометки и отчёт записи фрейма (inserts) называют вставку коротким именем.
Список вставок
| Вставка | Что выводит | Зависит от страницы |
|---|---|---|
| onpress/menu | меню из области темы | нет |
| onpress/lang-switcher | переключатель языков | нет* |
| onpress/socials | ссылки на соцсети сайта | нет |
| onpress/footer-columns | меню подвала колонками | нет |
| onpress/copyright | строка копирайта | нет |
| onpress/repeat | повтор шаблона по списку | по обстоятельствам |
| onpress/content | тело страницы | да |
| onpress/frame | другой фрейм | как у вложенного |
| onpress/slot | содержимое, переданное в вызов фрейма | нет |
| onpress/value | одно значение без тега | по токену |
| onpress/callout | врезку с содержимым | нет |
| onpress/featured-image | изображение записи | да |
| onpress/terms | термины таксономии страницы | да |
| onpress/faq | вопросы и ответы из markdown внутри вставки | нет |
| onpress/faq-schema | JSON-LD FAQPage по списку | да |
| onpress/assistant | чат-ассистент Framesuite | да |
| onpress/assistant-welcome | первый кадр чата Framesuite | да |
| onpress/docs-nav | дерево документации | да |
| onpress/outline | оглавление по заголовкам | да |
| onpress/search | поле поиска по дереву | нет |
| onpress/share-ai | кнопку Copy и «Explore with AI» | да |
| onpress/pager | ссылки «назад» и «вперёд» | да |
| onpress/partial | устаревшая ссылка на фрейм | да |
«Зависит от страницы» — фрейм с такой вставкой собирается на каждом запросе и не даёт статической копии (см. сборку). *onpress/lang-switcher сам копию не отменяет, но показывает языки конкретной страницы.
Вставки, результат которых зависит от языка (фрейм с ними собирается отдельно на каждый язык): onpress/menu, onpress/lang-switcher, onpress/footer-columns, onpress/repeat, onpress/frame, onpress/content, onpress/socials, onpress/copyright, onpress/docs-nav, onpress/outline, onpress/share-ai, onpress/pager, onpress/partial.
onpress/menu
Меню из области навигации темы — header, footer_1, footer_2, footer_3. Для языка страницы берётся меню, стоящее в области на этом языке.
<nav class="site-header__nav">
<!-- onpress/menu {"place":"header","class":"site-header__menu","depth":1} /-->
</nav>
<!-- onpress/menu {"place":"header","display":"dropdown","label":"Меню"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
place | header | область темы; синоним location |
lang | язык страницы | взять меню другого языка |
depth | 0 | глубина: 0 — все уровни, 1 — только верхний |
class | op-menu | класс списка ul |
id | menu-<слаг меню> | id списка; повтор на странице получает суффикс -1, -2 |
display | list | dropdown — свернуть меню в details/summary |
label | «Меню» | подпись свёрнутого меню |
Выводит стандартный список WordPress: ul.<class> с пунктами li.menu-item, у текущего пункта классы current-menu-item. В режиме dropdown — details.<class>.<class>--dropdown > summary.<class>__summary > span.<class>__current и список. Нет меню в области — комментарий op/menu: для области … меню не назначено. Что в меню — правится ручками меню.
onpress/lang-switcher
Переключатель языков Polylang.
<!-- onpress/lang-switcher {"display":"dropdown","show":"name"} /-->
<!-- onpress/lang-switcher {"scope":"site","show":"slug","hide_current":true} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
scope | page | page — только языки, на которых эта страница опубликована (при одном языке вставка ничего не выводит); site — все языки сайта, где перевода нет — ссылка на главную языка |
display | list | list или dropdown |
show | name | подпись: name (English, Русский) или slug (EN, RU) |
hide_current | false | не показывать текущий язык |
label | — | подпись свёрнутого переключателя и его aria-label |
class | op-lang-switcher | корневой класс |
Разметка: ul.<class> > li.<class>__item (у текущего is-current) > a.<class>__link с hreflang и aria-current. В режиме dropdown — details.<class>--dropdown с summary.<class>__summary и ul.<class>__menu. Без Polylang — комментарий.
onpress/socials
Ссылки на соцсети из настроек сайта: twitter, facebook, telegram, whatsapp, linkedin, instagram, reddit, gitlab, github, youtube, pinterest — выводятся только заполненные.
<!-- onpress/socials {"class":"site-footer__socials"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
class | op-socials | класс списка |
Разметка: ul.<class> > li.<class>__item > a.<class>__link.<class>__link--<сеть> (target="_blank", aria-label — имя сети). Сами ссылки в v2 API не правятся — их задаёт первая версия API (POST /wp-json/onpress/v1/settings/socials). Нет ни одной — комментарий.
onpress/footer-columns
Меню подвала колонками: по колонке на каждую область, заголовок колонки — имя меню.
<!-- onpress/footer-columns {"places":"footer_1,footer_2,footer_3"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
places | footer_1,footer_2,footer_3 | области через запятую |
lang | язык страницы | язык меню |
class | op-footer-columns | корневой класс |
Разметка: div.<class> > div.<class>__column.<class>__column--<область> > div.<class>__title и ul.<class>__list. Области без меню пропускаются; ни одной — комментарий.
onpress/copyright
<!-- onpress/copyright /-->
<!-- onpress/copyright {"text":"© 2016–{year} {name}. Все права защищены."} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
text | © {год} {имя сайта} | свой текст; {year} — текущий год, {name} — имя сайта |
class | op-copyright | класс span |
onpress/repeat
Повторяет вложенный шаблон по разу на элемент списка. Список — системный источник, набор сайта или массив прямо в атрибуте.
<ul class="team">
<!-- onpress/repeat {"source":"team","limit":6} -->
<li><strong data-op-bind='{"text":"item.name"}'></strong> <span data-op-bind='{"text":"item.role"}'></span></li>
<!-- /onpress/repeat -->
</ul>
| Атрибут | По умолчанию | Смысл |
|---|---|---|
source | — | имя источника или набора; item.<поле> — вложенный список элемента внешнего повторителя |
items | [] | список прямо в атрибуте, если source не задан или пуст |
lang | язык страницы | вариант набора этого языка |
match | {} | фильтр {"поле":"токен"}, значение — токен бинда, raw:значение или массив альтернатив |
limit, offset | — | окно: сколько вывести и сколько пропустить; целое или выражение с токенами ("(page.paged - 1) * 3") |
empty | — | frame — при пустом списке погасить весь фрейм, где стоит повторитель |
separator | — | строка между элементами; после последнего не ставится |
statuses | publish | статусы страниц для источников pages.* |
page | страница сборки | считать контекстные источники от другой страницы (id) |
Внутри шаблона поля элемента адресуются биндами item.<поле>, вложенные — через точку (item.frame.slug). Пустой список без empty — комментарий op/repeat: список … пуст. Полное описание — повторитель onpress/repeat.
onpress/content
Тело страницы, которую собирают: markdown, превращённый в блоки, с якорями у заголовков H2–H6.
<article class="article__body"><!-- onpress/content /--></article>
| Атрибут | По умолчанию | Смысл |
|---|---|---|
page | страница сборки | вывести тело другой страницы по id |
Выводится один раз: вложенный вызов (тело внутри тела) даёт комментарий. Без страницы в контексте — комментарий.
onpress/frame
Другой фрейм сайта в этом месте — единственная связь между фреймами.
<!-- onpress/frame {"name":"site__header"} /-->
<!-- onpress/frame {"name":"article__faq","class":"article__faq-wrap"} /-->
<!-- onpress/frame {"name":"assistant__chat","agent":"canva","agent_view":"profile"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
name | — | слаг или id фрейма; алиасы ref, frame, slug, id |
class | — | обернуть вложенный фрейм в div с этим классом |
type | — | устаревшая форма (header, footer, partial), не используйте |
| любой другой | — | параметр вызова: читается внутри фрейма как frame.<ключ> |
Ссылка. Основной ключ ссылки — name. Два ключа ссылки на разные фреймы в одной вставке ({"name":"a","ref":"b"}) — ошибка: запись фрейма с такой вставкой отвечает 400 frame_ref_conflict, а при сборке на месте вставки остаётся пометка op/frame: frame_ref_conflict: …. Слаг и id одного и того же фрейма конфликтом не считаются. Переименование фрейма (PATCH /frames/{ref} со slug) переписывает ссылки на новый слаг ключом name.
Нет такого фрейма — пустое место и комментарий; фрейм уже собирается (кольцо ссылок) — комментарий с цепочкой. До 8 уровней вложения. Работает и в теле страницы; и во фрейме, и в теле после правки вложенного фрейма или данных, которые он читает, кэш страницы сбрасывается автоматически. Подробно — фреймы.
Параметры вызова
Все атрибуты вызова, кроме служебных (name и его алиасы, type, class), уходят во фрейм параметрами. Внутри фрейма параметр читается как frame.<ключ> — в data-op-bind и в атрибутах вставок:
<!-- вызов -->
<!-- onpress/frame {"name":"assistant__chat","agent":"canva","agent_view":"profile"} /-->
<!-- внутри фрейма assistant__chat -->
<div id="ai-assistant-mount" data-op-bind='{"data-agent":"frame.agent","data-agent-view":"frame.agent_view"}'></div>
<!-- onpress/assistant-welcome {"id":"x8OA7Azs4hBy","agent":"frame.agent","agent_view":"frame.agent_view"} /-->
- Токен в атрибуте вставки. Значение атрибута, целиком равное токену
frame.<ключ>илиpage.<поле>, заменяется значением. Значения нет — атрибут снимается, и вставка берёт свой дефолт. - Литерал. Строка, которая только похожа на токен, пишется с префиксом
raw::{"label":"raw:page.title"}выведет текстpage.title. - Свои токены. Атрибуты
match,limit,offsetу повторителя подстановкой не трогаются: токены в них разбирает сам повторитель. - Сборка. Фрейм с параметрами собирается на месте вызова из исходника — своей копии с чужими параметрами у него нет. Токен
page.*в атрибуте вставки делает фрейм собираемым на запросе, какpage.*в бинде.
Слот
Парная форма вызова передаёт во фрейм содержимое — обычный markdown страницы:
## FAQ
<!-- onpress/frame {"name":"faq"} -->
### Сколько это стоит?
Бесплатно на любом тарифе.
### Нужна ли карта?
Нет.
<!-- /onpress/frame -->
Внутри фрейма содержимое ставит onpress/slot, а повторитель получает из него пары вопрос-ответ источником slot.faq. Содержимое слота остаётся в теле страницы как есть: выгрузка GET /pages/{ref}/markdown и повторная заливка его не меняют. Перед вызовом выгрузка ставит пустую строку после заголовка. Готовый фрейм FAQ — в рецепте FAQ.
onpress/slot
Содержимое, переданное в парный вызов фрейма. Markdown превращается в HTML тем же конвертером, что публикует страницы: списки, ссылки, картинки, выделение работают.
<section class="note"><!-- onpress/slot /--></section>
Атрибутов нет. Фрейм вызван одиночной формой — слот пуст и ничего не выводит.
Источник slot.faq. Повторитель с "source":"slot.faq" разбирает слот на пары вопрос-ответ по правилам onpress/faq: уровень первого заголовка — вопрос, всё до следующего заголовка того же уровня — ответ.
| Поле элемента | Что в нём |
|---|---|
q, a | вопрос и ответ HTML |
q_text, a_text | тот же текст без разметки — для JSON-LD и атрибутов |
question, answer | исходный markdown |
onpress/value
Одно значение без тега-носителя. Токен тот же, что у бинда: page.*, page.data.*, site.*, item.*, frame.*, raw:….
<!-- onpress/value {"bind":"page.title"} /-->
<!-- onpress/value {"bind":"item.q_text","format":"json"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
bind | — | токен |
format | text | text — HTML-экранирование; html — как есть; json — JSON-литерал |
Формат json безопасен внутри <script>: </ превращается в <\/, <!-- — в \u003C!--, символы U+2028 и U+2029 экранируются; значения нет — выводится null. В форматах text и html без значения не выводится ничего.
Вставка работает везде, в том числе внутри <script>, где тегов для data-op-bind нет, — так собирается JSON-LD из данных страницы или повторителя. Ограничение: в теле страницы onpress/value ставится только отдельной строкой — внутри строки абзаца выгрузка в markdown его теряет. Во фреймах ограничений нет.
onpress/callout
Врезка: заголовок, иконка и произвольное содержимое. Разметка та же, что у блока плагина wp:onpress/standard-alert, стили общие.
<!-- onpress/callout {"variant":"warning","title":"Перевыпуск токена"} -->
<p>Старый токен перестаёт работать <strong>сразу</strong>.</p>
<!-- /onpress/callout -->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
variant | default | default, info, success, warning, destructive; неизвестный — default |
title | — | заголовок |
icon | по варианту | имя значка Material Symbols (info, check_circle, warning, clear и любые другие) |
showIcon | true | показывать значок |
showTitle | true | показывать заголовок |
Содержимое между открытием и закрытием выводится как HTML: пишите <p>, <ul>, блоки Гутенберга. Markdown внутри врезки не конвертируется. Ни заголовка, ни содержимого — комментарий.
onpress/featured-image
Изображение записи (миниатюра) как <picture> с размерами и WebP — тем же кодом, каким выводятся картинки в тексте.
<!-- onpress/featured-image {"figure":true,"loading":"eager","fetchpriority":"high"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
class | — | класс img |
picture_class | — | класс picture |
loading | lazy | атрибут loading |
fetchpriority | — | high для первого экрана |
link | false | обернуть в ссылку на страницу |
figure | false | обернуть в figure.op-featured-image с подписью вложения |
page | страница сборки | взять изображение другой записи |
alt — из вложения, пустой — заголовок страницы. Изображение записи ставится ключом _thumbnail_id во frontmatter публикации (id вложения, см. frontmatter). Нет изображения — комментарий.
onpress/terms
Термины таксономии текущей записи списком ссылок.
<!-- onpress/terms {"taxonomy":"topic","label":"Тема:"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
taxonomy | category | таксономия; у страниц это topic (поле topic во frontmatter) |
link | true | ссылки на архив термина |
limit | 0 | сколько показать, 0 — все |
label | — | подпись перед списком |
class | op-terms | корневой класс |
Разметка: div.<class>.<class>--<таксономия> > span.<class>__label и ul.<class>__list > li.<class>__item.<class>__item--<слаг> > a.<class>__link. Нет таксономии или терминов — комментарий.
onpress/faq
Вопросы и ответы прямо в тексте страницы: аккордеон и разметка FAQPage из обычного markdown внутри вставки. Набор данных не нужен — вопросы лежат в теле и выгружаются вместе с ним.
## Частые вопросы
<!-- onpress/faq -->
### Сколько это стоит?
Бесплатно на любом тарифе. В него входит:
- безлимит страниц;
- все языки.
### Нужна ли карта?
Нет.
<!-- /onpress/faq -->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
id | faq | id секции — якорь для ссылок; если на странице он уже занят (заголовком или другой вставкой), получает хвост: faq-2, faq-3 |
schema | true | выводить JSON-LD FAQPage |
Правило вопросов. Уровень первого заголовка внутри вставки — уровень вопроса. Каждый заголовок этого уровня — вопрос, всё до следующего такого же — ответ. Заголовок глубже остаётся частью ответа. Ответы конвертируются тем же конвертером, что и страница: списки, ссылки, картинки, выделение работают.
Заголовок раздела пишите над вставкой обычным текстом, вплотную, без абзаца между ними — стили прижимают вставку к заголовку правилом h2 + .opfaq. Раздел можно назвать просто «FAQ»: заголовок оставит себе якорь #faq, а секция вставки получит faq-2 — одинаковых id на странице не будет. Нужен предсказуемый якорь у самой секции — задайте вставке свой id.
Разметка фиксированная, на неё написаны стили: section.opfaq#faq > div.opfaq__list > details.opfaq__item > summary.opfaq__q > span.opfaq__q-text и div.opfaq__a. Аккордеон работает без JavaScript. JSON-LD выводится после секции, один раз на страницу — если на странице есть и onpress/faq, и onpress/faq-schema, побеждает первая.
Вставка не делает фрейм зависимым от страницы: в теле страницы она выполняется через onpress/content, во фрейме — попадает в статическую копию.
onpress/faq продолжает работать. Для новых страниц удобнее фрейм faq со слотом: вопросы так же лежат в markdown страницы, а разметка аккордеона и схемы живёт во фрейме, который можно скопировать и переделать под себя, — см. рецепт FAQ.
Один FAQPage на страницу. Если в теле несколько FAQ-фреймов, их схемы при сборке тела сливаются в первую, остальные снимаются; onpress/faq-schema в этом случае свой FAQPage не выводит.
onpress/faq-schema
JSON-LD FAQPage из списка — тот же источник, язык и фильтр, что у повторителя. Нужна, когда вопросы живут в наборе данных, а не в теле.
<!-- onpress/faq-schema {"source":"faq","match":{"page":"page.slug"}} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
source | — | набор или источник |
match | — | фильтр, как у onpress/repeat |
lang | язык страницы | вариант набора |
page | страница сборки | другая страница для match |
question | q | поле вопроса |
answer | a | поле ответа |
HTML из вопросов и ответов вырезается. Пустой список — ничего не выводится. Вставка продолжает работать; если в теле страницы есть FAQ-фрейм со своей схемой, onpress/faq-schema свой FAQPage не выводит — на странице он один.
onpress/assistant
Встроенный чат-ассистент Framesuite — то же, что блок плагина wp:onpress/ai-assistant в контенте первой версии. Один раз на страницу.
<!-- onpress/assistant {"id":"x8OA7Azs4hBy"} /-->
<!-- onpress/assistant {"id":"x8OA7Azs4hBy","lib":"agents","agent":"canva","agent_view":"profile"} /-->
| Атрибут | Смысл |
|---|---|
id | id ассистента Framesuite (синоним assistantId) |
lib | страница приложения, с которой открывается ассистент (например agents) |
agent | слаг агента |
agent_view | profile или chat |
Фрейм обычно общий для многих страниц, а вход у каждой свой: вставка с тем же id в теле страницы уточняет вход вставки из фрейма и второго чата не рисует. Скрипты и стили ассистента подключаются в <head> автоматически.
onpress/assistant-welcome
Первый кадр чата Framesuite: готовая разметка приветственного экрана, которую сервер забирает из Framesuite и держит в кэше сутки. Человек и поисковик видят ассистента вместе со страницей, приложение чата потом подменяет кадр собой.
<!-- onpress/assistant-welcome {"id":"x8OA7Azs4hBy","agent":"frame.agent","agent_view":"frame.agent_view"} /-->
| Атрибут | Смысл |
|---|---|
id | id ассистента Framesuite |
lib | страница приложения, с которой открывается ассистент |
agent | слаг агента |
agent_view | profile или chat |
Вставка выводит только кадр. Это вариант сборки чата обычной разметкой: фрейм assistant__chat собирает всё остальное сам — контейнер #ai-assistant-mount с data-slug, загрузчик, стили, синхронизацию тёмной темы, — а параметры agent, agent_view, lib приходят вызовом фрейма и читаются как frame.*:
<!-- onpress/frame {"name":"assistant__chat","agent":"canva","agent_view":"profile"} /-->
В теле страницы, внутри колонки .prose, чат обрезается, поэтому его ставят во фрейме над телом. Агента тогда передаёт первая строка тела — вставка onpress/assistant с тем же id: она уточняет вход вставки из фрейма и второго чата не рисует (см. onpress/assistant).
Карта импортов для чата выводится в <head> автоматически, если на странице есть onpress/assistant-welcome. В <body> её не ставьте: в <head> уже есть модульный скрипт, и браузеры без поддержки нескольких карт импортов вторую отбросят. Старая вставка onpress/assistant продолжает работать.
onpress/docs-nav
Левое дерево документации: страницы сайта, собираемые фреймом документации, с активным пунктом, раскрытым предком, черновиками для вошедших редакторов, поиском. Подписи пунктов — nav_label страницы или её заголовок. Как устроено дерево — сайдбар документации.
<!-- onpress/docs-nav {"shell":"drawer"} /-->
<!-- onpress/docs-nav {"shell":"toggle"} /-->
<!-- onpress/docs-nav {"shell":"sidebar"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
shell | — | обвязка: пусто — только дерево; sidebar — боковая колонка nav.opdoc__sidebar; drawer — мобильная шторка #opdoc-drawer; toggle — кнопка открытия шторки с «родитель → страница» |
search | true | false — убрать встроенное поле поиска (если поиск стоит отдельной вставкой) |
aria-подписи выводятся на языке страницы.
onpress/outline
Оглавление по заголовкам текущей страницы, с теми же якорями, что проставляет onpress/content.
<div class="opdoc__aside"><!-- onpress/outline {"levels":"2-3"} /--></div>
| Атрибут | По умолчанию | Смысл |
|---|---|---|
levels | все H2–H6 | 2 — только H2, 2-3 — H2 и H3, 2,4 — через запятую, диапазоны и уровни можно смешивать; неразборчивое значение — все уровни |
title | «На этой странице» на языке страницы | заголовок колонки |
bare | false | только список ul.aside-nav-list, без обвязки и заголовка |
shell | — | spoiler — свёрнутый details.opdoc__outline--spoiler |
Нет заголовков — комментарий.
onpress/search
Поле поиска по дереву документации (разметка из той же части темы, что у onpress/docs-nav). Фильтрует пункты только внутри контейнера дерева — вне его останется просто полем.
<!-- onpress/search {"placeholder":"Поиск по документации"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
placeholder | на языке страницы | подсказка в поле |
onpress/share-ai
Кнопка Copy (копирует страницу как markdown) с выпадающим списком «Explore with AI» — ссылки на семь моделей с адресом текущей страницы. Подписи — на языке страницы.
<!-- onpress/share-ai {"view":"docs"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
view | — | docs — вид для шапки документации на details |
copy | true | false — только список моделей, без кнопки Copy |
label | «Copy» на языке страницы | подпись кнопки |
onpress/pager
Ссылки на предыдущую и следующую страницы в том же порядке, в каком они стоят в дереве документации. Пустая сторона держит место.
<!-- onpress/pager /-->
<!-- onpress/pager {"prev_label":"Назад","next_label":"Дальше"} /-->
| Атрибут | По умолчанию | Смысл |
|---|---|---|
prev_label, next_label | «Назад» и «Далее» на языке страницы | подписи |
label | на языке страницы | aria-label навигации |
onpress/partial
Устаревший псевдоним onpress/frame {"type":"partial"}. В новых фреймах не используется; пишите onpress/frame {"name":"…"}.
Проверка вставок
После загрузки фрейма смотрите в ответе inserts (что найдено), warnings и bake.response.unresolved/unknown_inserts (что не разобралось). Что получит повторитель, заранее показывает POST /data/resolve — см. наборы данных. На готовой странице ищите в исходном коде комментарии с пометкой op/…: … — каждая вставка, которой нечего вывести, оставляет такой.