24 lines
2.2 KiB
Markdown
24 lines
2.2 KiB
Markdown
# D-029. Контент страниц сайта — в Payload, страницы из блоков
|
|||
|
|
|
||
|
|
Статус: принято, 22.10.2026. Уточняет [D-006](D-006-localization.md): тексты страниц — контент, а не интерфейс.
|
||
|
|
|
||
|
|
## Контекст
|
||
|
|
|
||
|
|
По [06-i18n.md](../06-i18n.md), раздел 7.1, тексты макетов ложились бы в сообщения next-intl, и заголовок главной правился бы только выкладкой. Весь контент должен храниться в CMS.
|
||
|
|
|
||
|
|
## Решение
|
||
|
|
|
||
|
|
1. Коллекция `pages` (сайт): адрес, заголовок, SEO, блоки; черновики и версии Payload. Порядок и состав секций меняются в админке.
|
||
|
|
2. Блоки повторяют секции макетов и общие для обоих брендов. Блок, который показывает данные, рисуется по бренду: у dedicated — выбор локации, у mass — планы.
|
||
|
|
3. Тарифы, локации и FAQ остаются отдельными коллекциями. Числа в текстах блоков — подстановки из данных (число стран, устройств, цены), поэтому тексты не расходятся с данными.
|
||
|
|
4. В next-intl остаётся только интерфейс: навигация, кнопки, подписи полей и статусов, сообщения форм, страница 404.
|
||
|
|
5. Так устроен официальный шаблон Payload (website template).
|
||
|
|
|
||
|
|
## Рассмотренные варианты
|
||
|
|
|
||
|
|
1. Тексты страниц в next-intl — правка только выкладкой.
|
||
|
|
2. Фиксированные поля под каждую страницу — нельзя менять состав и порядок секций.
|
||
|
|
|
||
|
|
## Последствия
|
||
|
|
|
||
|
|
Правка текста страницы — в админке, страница пересобирается по событию ([D-030](D-030-revalidate-path.md)). Переводы текстов страниц хранятся в Payload.
|