PageBuilder
Visual section builder for MODX 3. Draft and publish without overwriting resource content

Unlike Products grid, no single category: you pick exact product IDs in multirelation.
Информация
Requires PageBuilder Pro and miniShop3.
Products multirelation: selection order is kept. Limit is the number of picked items.
| Parameter | Value |
|---|---|
| key | curated_products |
| Layer | Pro |
| Category | commerce (commerce) |
| Chunk | pagebuilderpro_curated_products |
| Requires | pro, minishop3 |
Fill these fields in the section inspector. Field types are documented in the field types reference.
title) Type text. Optional.
products) Type multirelation. Required. Pick multiple resources. JSON stores resource IDs.
intro) Type textarea. Optional.
pb-curated-products grid from multirelation IDs.
Example payload after save. Media, video, and map values may be enriched on output:
{
"title": "Section title",
"products": [
201,
202,
203
],
"intro": "Short intro before the main content."
}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">Select products in the section inspector.</p>
{/if}
</div>
</section>PageBuilderPro/core/components/pagebuilderpro/sections/curated_products.json