Skip to content

Наборы блоков ​

Свежая установка отдаёт пустой конструктор: открываете страницу, жмёте «добавить блок» и видите пустой список. Чтобы получить хоть что-то, надо завести тип с полями и написать шаблон — работа разработчика, а не редактора.

Наборы закрывают этот разрыв: одна кнопка превращает «поставил и не понял, что делать» в «поставил и собрал страницу».

PageBlocks → Конструктор → Блоки → кнопка «Наборы».

Набор бесплатный и входит в обычную поставку.

Как поставить ​

Три шага, те же, что у сидов компонента: выбрать набор → прочитать план → установить. План читается до записи не для порядка: набор пишет в таблицы конструктора, и список изменений видно заранее, а не по факту.

Установка идемпотентна — ищет по имени и создаёт только недостающее. Повторный запуск на готовой базе показывает «уже есть» и ни одной строки «создать».

Снос — там же, и тоже с планом: видно, сколько типов и сколько расставленных по страницам блоков уйдёт.

Что внутри ​

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

ТипЧанкЧто показывает
Обложкаpageblocks.block.heroмедиа, кнопка, раскладка списком
Текстpageblocks.block.richtextбогатый текст, ширина колонки
Карточкиpageblocks.block.cardsповторитель и медиа внутри строки
Галереяpageblocks.block.galleryповторитель из картинок
Вопросы и ответыpageblocks.block.faqповторитель и богатый текст в строке
Призыв к действиюpageblocks.block.ctaдве кнопки
Отступpageblocks.block.spacerслужебный блок без контента

Это типы, а не заполненные блоки

Набор ставит схемы с полями — то, из чего редактор собирает страницу. Готовые блоки с текстом и картинками — это библиотека блоков, отдельная история версии 3.1.

Повторители ​

У карточек, галереи и вопросов есть поле-повторитель items. Вместе с блоками набор создаёт три таблицы конструктора под их строки; строки лежат в общей pb_table_data, поэтому ни своей миграции, ни своей модели повторителю не нужно.

Галерея собрана повторителем, а не полем «Галерея»: само поле galleryfield платное, а набор бесплатный, и блок с замком внутри было бы нечем заполнить.

Своя вёрстка ​

Шаблоны лежат в core/components/pageblocks/elements/blocks/ и адресуются полем chunk_path у типа блока.

Чтобы поправить вёрстку под себя — скопируйте файл в своё место и поправьте chunk_path. Файлы компонента при этом остаются нетронутыми, и обновление спокойно их перезапишет. Правка файла прямо в каталоге компонента переживёт ровно до следующего обновления.

Стили — assets/components/pageblocks/css/web/pb.starter.css, собраны на токенах pb.blocks.css: тема сайта переопределяет их на той же обёртке .pb-page.

Картинки в каталоге добавления ​

Карточка типа показывает картинку вёрстки — иначе блок выбирают по названию вслепую, а «Карточки» в три колонки и «Галерея» в три колонки словами не отличаются.

Путь хранится в колонке preview и проставляется установщиком набора. Поле необязательное: тип, заведённый руками, рисуется той же карточкой без картинки.

Сид вторым входом ​

Нужен там, где кнопку никто не нажмёт: автоматическая сборка стенда, прогон на чистой базе перед релизом.

bash
# план
php core/components/pageblocks/vendor/bin/phinx seed:run \
  -c core/components/pageblocks/src/phinx.php -s StarterBlocksSeed

# запись
PB_APPLY=1 php core/components/pageblocks/vendor/bin/phinx seed:run \
  -c core/components/pageblocks/src/phinx.php -s StarterBlocksSeed

PB_REMOVE=1 переключает оба шага на снос. После записи сбросьте кэш MODX.

На шаред-хостинге кнопка надёжнее

Сид требует CLI, а на части хостингов exec() запрещена. Кнопка работает в том же процессе, что менеджер, и от шелла не зависит совсем.

© PageBlocks 2019-present