Skip to content
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
  1. Компоненты
  2. PageBuilder
  3. Каталог секций
  4. Pro
  5. Подборка товаров

Подборка товаров

В отличие от Сетки товаров, здесь нет привязки к одной категории: вы отмечаете конкретные ID в multirelation.

Информация

Требуются PageBuilder Pro и miniShop3.

Чем отличается от сетки

  • Точный список SKU, порядок как в multirelation
  • Не зависит от одной категории
  • Тот же card markup, что у сетки

Сценарии подборки

  • В блоке «Рекомендуем» на главной
  • Для новинок: ручной список без фильтра категории
  • Для комплекта или bundle на лендинге

Примеры страниц

Multirelation товаров

Поле Товары (multirelation): порядок выбора сохраняется. Лимит задаётся количеством выбранных позиций.

Похожие секции

Параметры блока

ПараметрЗначение
keycurated_products
СлойPro
Категориямагазин (commerce)
Chunkpagebuilderpro_curated_products
Требованияpro, minishop3

Поля в редакторе

Заполните поля в инспекторе секции на ресурсе. Описание типов полей: справочник типов.

Заголовок (title)

Тип text. Необязательное.

Товары (products)

Тип multirelation. Обязательное. Выбор нескольких ресурсов. В JSON сохраняются ID.

Вступление (intro)

Тип textarea. Необязательное.

Что видит посетитель

Сетка pb-curated-products по ID из multirelation.

Данные секции

Пример JSON после сохранения секции. Для media, video и map значения на выводе могут быть обогащены:

json
{
  "title": "Заголовок секции",
  "products": [
    201,
    202,
    203
  ],
  "intro": "Краткое вступление перед основным содержимым."
}

Шаблон chunk

Fenom chunk pagebuilderpro_curated_products:

fenom
{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

Связанные страницы