Подборка товаров
В отличие от Сетки товаров, здесь нет привязки к одной категории: вы отмечаете конкретные ID в multirelation.
Информация
Требуются PageBuilder Pro и miniShop3.
Чем отличается от сетки
- Точный список SKU, порядок как в multirelation
- Не зависит от одной категории
- Тот же card markup, что у сетки
Сценарии подборки
- В блоке «Рекомендуем» на главной
- Для новинок: ручной список без фильтра категории
- Для комплекта или bundle на лендинге
Примеры страниц
- Главная: Curated products «Рекомендуем» → Products grid «Каталог»
- Лендинг: Hero → Curated products → CTA
Multirelation товаров
Поле Товары (multirelation): порядок выбора сохраняется. Лимит задаётся количеством выбранных позиций.
Похожие секции
- Сетка товаров для автоматической выборки из категории
- Похожие товары на карточке с exclude
Параметры блока
| Параметр | Значение |
|---|---|
| key | curated_products |
| Слой | Pro |
| Категория | магазин (commerce) |
| Chunk | pagebuilderpro_curated_products |
| Требования | pro, minishop3 |
Поля в редакторе
Заполните поля в инспекторе секции на ресурсе. Описание типов полей: справочник типов.
Заголовок (title)
Тип text. Необязательное.
Товары (products)
Тип multirelation. Обязательное. Выбор нескольких ресурсов. В JSON сохраняются ID.
Вступление (intro)
Тип textarea. Необязательное.
Что видит посетитель
Сетка pb-curated-products по ID из multirelation.
Данные секции
Пример JSON после сохранения секции. Для media, video и map значения на выводе могут быть обогащены:
{
"title": "Заголовок секции",
"products": [
201,
202,
203
],
"intro": "Краткое вступление перед основным содержимым."
}Шаблон chunk
Fenom chunk pagebuilderpro_curated_products:
{var $resourceIds = $curated_product_ids|default:''}
{var $listing = ''}
{if $resourceIds}
{var $listing = $modx->runSnippet('msProducts', [
'parents' => 0,
'resources' => $resourceIds,
'limit' => 12,
'tpl' => 'pagebuilderpro_ms3_product_row',
'includeVendorFields' => '*',
'includeOptions' => 'color,size',
'withCurrency' => 1,
'showZeroPrice' => 1
])}
{/if}
<section class="pb-section pb-section--curated-products pb-curated-products pb-listing{if $cssClass} {$cssClass|escape}{/if}" data-pb-section="curated_products"{if $id} id="pb-{$id|escape}"{/if}>
<div class="pb-section__inner">
{if $title}
<h2 class="pb-heading">{$title|escape}</h2>
{/if}
{if $intro}
<p class="pb-listing__intro">{$intro|escape}</p>
{/if}
{if $listing}
<div class="pb-listing__grid">
{$listing}
</div>
{else}
<p class="pb-listing__empty">Выберите товары в инспекторе секции.</p>
{/if}
</div>
</section>JSON-определение
PageBuilderPro/core/components/pagebuilderpro/sections/curated_products.json
