
- MODX 3
- PHP 8.2
- Vue 3


Результат: на одной странице первый экран, ряд подкатегорий, сетка товаров, список записей, два вопроса и форма. Черновик на сайт не попадает. Публикует кнопка Сохранить ресурса. На вкладке Секции отдельной кнопки публикации нет.
Страница без магазина собирается из Free-секций: Лендинг.
[[!PageBuilder]].requires: ["pro", "minishop3"]). Для списка нужна capability datasources.hero, categories_row, products_grid, dynamic_list, faq, contact_form.published_json.Hero. Title Каталог. Button label Смотреть категории, Button URL на страницу категории. Alignment left. Кнопка выводится, только если заполнены и текст, и URL.
categories_row. Родительская категория 101 (пример). Внутри должны быть ресурсы класса msCategory. Лимит 6. Пустой лимит в чанке становится 8. Нет подразделов: лексикон pagebuilder_fe_listing_empty_category («В этой категории нет подразделов.»).
products_grid. Корень каталога 101 (пример). Поле обязательное. Лимит 6. Пустой лимит в чанке становится 12. Сортировка price_asc или popular. Неизвестное значение сортирует как menuindex. Пустая категория: pagebuilder_fe_listing_empty_products («В этой категории пока нет товаров.»). У секции "cacheable": false.
dynamic_list. Провайдер modx-resources. Фильтр parent, оператор eq, значение 5 (id родителя, пример). Sort по publishedon, direction desc. Лимит запроса не больше 100. В чанк попадают items и total. Пустой результат: pagebuilder_fe_list_empty.
FAQ. Title Доставка. Две строки repeater: question и answer.
contact_form. Ключ формы shop_question. В Полях формы две строки: email типа email и phone типа phone. Имя поля: [a-z][a-z0-9_]*.
Подкатегории: дочерние msCategory выбранного родителя. Карточки товаров показывают фото, цену и кнопку «В корзину». Новый опубликованный дочерний ресурс появляется в списке без правки JSON секции. Форма уходит через FetchIt. Без FetchIt секция показывает pagebuilder_fe_form_unavailable.
Удалите секцию в корзину страницы. Черновик при этом остаётся.