Вывод товаров msProducts сначала из конкретной категории, а потом всех остальных

Друзья, подскажите начинающему как можно с помощью сниппета mFilter2 с использованием element=`msProducts` выводить товары в таком порядке: сначала товары из какой-то определённой категории, а потом — все остальные?
Giant Dad
11 августа 2021, 17:23
modx.pro
356
0

Комментарии: 2

Павел Романов
12 августа 2021, 11:17
+1
Пишете сниппет, который выводит id товаров через запятую в нужной последовательности например так:
<?php
$ids1 = $modx->runSnippet('pdoResources', array(
    'parents' => 12, // ID первой категории
    'returnIds' => 1,
    'limit' => 0,
    'templates' => 3 // ID шаблона товара
)));
$ids2 = $modx->runSnippet('pdoResources', array(
    'parents' => 3,-12, // ID каталога и исключение ID первой категории
    'returnIds' => 1,
    'limit' => 0,
    'templates' => 3 // ID шаблона товара
)));
return $ids1.','.$ids2;

И подставляете этот сниппет в вызов mFilter2:
...
&resources=`[[!snippetName]]`
&sortby=`ids`
...
    Giant Dad
    12 августа 2021, 13:17
    0
    Спасибо! Это помогло ^_^b
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2