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

Сетка товаров

Классическая сетка интернет-магазина: карточки с фото, ценой, бейджами и кнопкой «В корзину». Товары из выбранной категории.

Информация

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

Витрина без сниппета

  • msProducts внутри chunk: цены и корзина из miniShop3
  • Категория и лимит меняет редактор
  • Не нужен отдельный вызов сниппета на странице

Типичные места

  • На главной магазина: хиты или новинки категории
  • На лендинге коллекции: товары одной линейки
  • На странице акции: товары со скидкой в категории

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

Категория и сортировка

Родительская категория: msCategory. Лимит и Сортировка как в msProducts. Нужен установленный miniShop3.

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

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

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

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

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

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

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

Корень каталога (parent)

Тип relation. Обязательное. Выбор одного ресурса MODX в модальном окне поиска.

Лимит (limit)

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

Сортировка (sortby)

Тип select. Необязательное. Выпадающий список с заранее заданными вариантами.

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

Сетка pb-products-grid через msProducts.

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

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

json
{
  "title": "Заголовок секции",
  "parent": 101,
  "limit": 6,
  "sortby": "menuindex"
}

Шаблон chunk

Fenom chunk pagebuilderpro_products_grid:

fenom
{var $catalogParent = $parent.id|default:($parent_id|default:0)}
{var $listing = ''}
{if $catalogParent}
  {var $listing = $modx->runSnippet('msProducts', [
    'parents' => $catalogParent,
    'depth' => 10,
    'limit' => $limit|default:12,
    'tpl' => 'pagebuilderpro_ms3_product_row',
    'includeVendorFields' => '*',
    'includeOptions' => 'color,size',
    'withCurrency' => 1,
    'showZeroPrice' => 1,
    'sortby' => $ms_sortby|default:'msProduct.menuindex',
    'sortdir' => $ms_sortdir|default:'ASC'
  ])}
{/if}
<section class="pb-section pb-section--products-grid pb-products-grid pb-listing{if $cssClass} {$cssClass|escape}{/if}" data-pb-section="products_grid"{if $id} id="pb-{$id|escape}"{/if}>
  <div class="pb-section__inner">
    {if $title}
      <h2 class="pb-heading">{$title|escape}</h2>
    {/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/products_grid.json

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