Skip to content

Первая страница ​

От законченной установки до страницы, которую видит посетитель. Без кода, минут за десять, и всё это работает на бесплатной сборке.

Если ещё не установили — начните с Установки и возвращайтесь.

Что предстоит сделать ​

Четыре шага, и порядок важен:

1Поставить стартовые типы блоков — одна кнопка
2Сказать шаблону MODX, где печатать тело страницы — одна строка
3Добавить блоки на ресурс и заполнить
4Опубликовать

Свежая установка отдаёт пустой конструктор намеренно: компонент не угадывает, какие у вас должны быть блоки. Шаг 1 избавляет от необходимости завести тип и написать шаблон раньше, чем вы увидели хоть что-то работающее.

1. Поставить стартовые типы блоков ​

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

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

Получите семь типов: Обложка, Текст, Карточки, Галерея, Вопросы и ответы, Призыв к действию и Отступ. Критерий отбора — собрать лендинг за десять минут, а не набрать побольше позиций. Шаблоны и стили к ним идут в поставке, поэтому они рисуются на вашей теме без единой строки вёрстки с вашей стороны.

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

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

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

Подробнее: Наборы блоков.

2. Сказать шаблону, где печатать тело ​

Этот шаг пропускают чаще всего, и выглядит пропуск ровно как сломанная установка: блоки добавили, сохранили, страница пустая.

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

[[!pbBlocks]]

Восклицательный знак обязателен. Без него MODX кэширует вывод, и ваша следующая правка в конструкторе не появится, пока не сбросите кэш, — а читается это как «сохранение не работает».

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

Подробнее: pbBlocks.

3. Добавить блоки и заполнить ​

Откройте любой ресурс. Вкладка PageBlocks — на форме ресурса.

Нажмите «добавить», выберите из каталога Обложку, заполните заголовок, текст, картинку и кнопку. Добавьте под ней Карточки и заполните несколько строк. Порядок меняется перетаскиванием.

Блок добавлен на страницу

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

4. Опубликовать ​

У блока своя публикация, отдельная от публикации ресурса.

Неопубликованный блок на фронте пропускается молча. Ни ошибки, ни пустого места, ни строки в журнале — его просто нет. Это первое, что надо проверять, когда блок «не рисуется», и уже потом смотреть маршруты и шаблоны.

Сохраните ресурс. Откройте страницу. Блоки на ней.

Стили приезжают сами ​

Разметочный слой — ширина контента, вертикальный ритм секций и CSS-переменные, которыми стартовые блоки меряют отступы, — регистрирует в <head> событие OnWebPageInit. На обычной странице MODX делать ничего не надо.

Одно исключение. Если вы включили pageblocks_routing и страницу отдаёт ваш маршрут, это событие не наступает: компонент отвечает на запрос и выходит раньше, чем MODX до него доходит. Такому шаблону нужна одна строка в <head>:

{pb_styles()}

Весь слой лежит в @layer pageblocks, поэтому любое неслоёное правило темы сильнее него — переопределить одно свойство можно, ничего не выключая. А если вёрстку блоков вы берёте на себя целиком, слой отключается системной настройкой pageblocks_load_styles.

Как сделать вёрстку своей ​

Шаблоны стартовых блоков лежат в core/components/pageblocks/elements/blocks/. Правка на месте работает ровно до следующего обновления, которое их перезапишет.

Вместо этого скопируйте файл к себе и укажите на него в поле chunk_path у типа блока. Файлы компонента остаются нетронутыми, ваша вёрстка переживает обновления, и они перестают конкурировать.

Внутри шаблона поле — это переменная с именем поля:

html
<section class="hero" style="background-image:url({$background.url})">
    <div class="container">
        <h1>{$title}</h1>
        <p>{$description}</p>
    </div>
</section>

title, description и background — то, что описано на вкладке Поля у типа блока. У файловых и картиночных полей есть ещё url, width, height и title.

Если блок не появился ​

Проверяйте в этом порядке — он от дешёвого к дорогому, и первые два случая покрывают большинство:

Что проверитьЧем это притворяется
Блок опубликован?Неопубликованный пропускается без единого слова
[[!pbBlocks]] стоит в шаблоне, и с !?Закэшированный вывод выглядит как «сохранение не работает»
Имя чанка совпадает с именем файла?Отсутствующий шаблон возвращает пустую строку и пишет в журнал [Fenom]: Template … not found. Блок есть на странице, есть в базе — и нигде на сайте
Кэш MODX сброшен после установки?Устаревшая копия PHP или JS выглядит ровно как сломанная установка

Куда дальше ​

БлокиЗавести свой тип блока: поля, вкладки, где его можно размещать
ПоляВсе 39 типов полей, 30 из них бесплатные
ТаблицыСвои таблицы, заполняемые в менеджере — бесплатно
Быстрый старт: сниппетыСписки, меню, фильтры в шаблоне MODX
Для разработчиков: маршрутизацияМаршруты, контроллеры и сервисы, без сниппетов вообще
Бесплатная и платнаяГде проходит платная граница

© PageBlocks 2019-present