Перейти к содержимому

Что такое PageCraft

PageCraft — конструктор страниц. Страница собирается из блоков, блок описывается схемой полей и шаблоном Liquid, готовая страница публикуется на витрину интернет-магазина.

Целевая витрина — платформа 4CMS: PageCraft собирает HTML у себя и отдаёт его магазину через публичный API платформы. Кроме 4CMS есть провайдер публикации по FTP, но развивается только 4CMS.

Вставить готовую разметку в магазин можно и без PageCraft — но такой кусок HTML живёт ровно один раз и на одной странице. Блок PageCraft — самостоятельная сущность:

Что есть у блока Что это даёт
Схема полей заголовки, ссылки и картинки правятся формой, а не в разметке
История ревизий правка создаёт новую версию, старая никуда не девается
Обновление на страницах блок на странице — ссылка на версию, а не копия; поправил блок — обновил все страницы
Медиа картинки блока лежат в S3-хранилище сайта
Источники данных блок может получить с витрины товары рубрики, содержимое корзины и подобное
Дизайн-токены сайта блок перекрашивается вместе с темой магазина
Документация описание блока для того, кто будет им пользоваться

Блок — переиспользуемая единица содержимого: Liquid-шаблон, CSS, JS и схема полей. Главная сущность.

Ревизия блока — неизменяемый снимок этого содержимого. Сохранение блока не перезаписывает предыдущее состояние, а добавляет ревизию с новым номером версии мажор.минор.

Страница — упорядоченный набор блоков внутри сайта плюс SEO-поля.

Блок на странице — вхождение блока в конкретную страницу: ссылка на блок, ссылка на его версию, порядковый номер и заполненные значения полей.

Макет — обёртка страницы: шапка, футер, общая структура. Устроен так же, как блок, и тоже имеет ревизии.

Сайт — представление магазина внутри PageCraft: настройки провайдера публикации, переменные, хранилище медиа, синхронизированные из магазина темы и источники данных.

Источник данных — именованный поставщик живых данных с витрины. Блок объявляет в схеме слот под данные, а на странице слоту назначается конкретный источник.

  1. Вы описываете схему полей блока — какие настройки будет заполнять редактор.
  2. Пишете Liquid-шаблон, который эти поля выводит, плюс CSS и при необходимости JS.
  3. Сохраняете — появляется ревизия 1.0.
  4. Добавляете блок на страницу и заполняете поля значениями.
  5. Публикуете страницу: PageCraft рендерит шаблоны блоков и отдаёт провайдеру HTML, CSS и JS. Обёртку с шапкой и подвалом добавляет витрина. Повторная публикация обновляет ту же страницу, а не создаёт новую.

Предпросмотр в редакторе рендерит тот же шаблон в браузере — движки Liquid на сервере и в браузере разные, и это иногда заметно; различия собраны на странице Различия сервера и браузера.

Руками. Вы сами пишете схему и шаблон в редакторе блока. Этот путь описан в Быстром старте и в разделе Блоки.

Через ИИ-агента. PageCraft раздаёт скиллы — пакеты инструкций, по которым внешний агент (Claude Code, Cursor и другие харнессы) создаёт блоки и страницы через REST API по API-ключу. Об этом — раздел API и агенты.

Оба способа работают с одними и теми же сущностями: агент не получает никаких возможностей сверх тех, что есть в интерфейсе.

Вопрос Страница
Хочу сделать первый блок прямо сейчас Быстрый старт
Что означают термины Словарь терминов
Как устроен блок Анатомия блока
Какие бывают типы полей Схема полей
Что доступно в шаблоне Что доступно в контексте
Как отдать блоку живые данные Биндинги и слоты
Как опубликовать страницу Публикация и обновление

Источники: backend/src/Entity/Block.php, backend/src/Entity/BlockRevision.php, backend/src/Entity/Page.php, backend/src/Entity/PageBlock.php, backend/src/Entity/Site.php, backend/src/Publishing/BlockRenderer.php, backend/src/Publishing/LayoutRenderer.php, backend/src/Publishing/Provider/.