Как вывести товары на другой странице категории?
        Доброго времени суток!
В minishop2 есть категории коллекций, например, «Летняя», «Купальный сезон» и тд.
В этих коллекциях есть одинаковые подкатегории «Майки», «Шорты» и тд.
Также на сайте есть общий раздел «Майки», в который должны выводиться товары из всех коллекций подкатегории «Майки».
Как написать такой вызов?
Для вывода товаров использую mFilter2.
Пример вызова:
    
    
                                                                                
            В minishop2 есть категории коллекций, например, «Летняя», «Купальный сезон» и тд.
В этих коллекциях есть одинаковые подкатегории «Майки», «Шорты» и тд.
Также на сайте есть общий раздел «Майки», в который должны выводиться товары из всех коллекций подкатегории «Майки».
Как написать такой вызов?
Для вывода товаров использую mFilter2.
Пример вызова:
[[!mFilter2?
	&parents=`[[*id]]`
	&element=`msProducts`
	&tpl=`tpl.msProducts.row.custom`
	&tplOuter=`tpl.mFilter2.outer.custom`
	&where=`{"class_key":"msProduct"}`
]]Как я понимаю, необходимо написать условие в where.    Комментарии: 4
                Ну чтож, раз никто не ответил то, что-то типа такого:
Создаете сниппет, назовем его getSameCategories, с таким кодом:
И в шаблоне общего раздела:
                    Создаете сниппет, назовем его getSameCategories, с таким кодом:
<?php
$c = $modx->newQuery('msCategory');
$c->select('id');
$c->where(array(
    'pagetitle' => $modx->resource->pagetitle,
    'id:!=' => $modx->resource->id,
));
$ids = array();
if($categories = $modx->getCollection('msCategory', $c)){
    foreach ($categories as $category) {
        $ids[] = $category->get('id');
    }
}
if (count($ids)) {
    return implode(',', $ids);
}
return;И в шаблоне общего раздела:
[[getSameCategories:notempty=`
    [[!msProducts?
        &parents=`[[getSameCategories]]`
        ...
    ]]
`]]            
                А еще лучше
                    $ids = [];
$c = $modx->newQuery('msCategory', [
    'pagetitle' => $modx->resource->pagetitle,
    'id:!=' => $modx->resource->id,
]);
$c->select(['id']);
if ($c->prepare() && $c->stmt->execute()) {
    $ids = $c->stmt->fetchAll(PDO::FETCH_COLUMN);
}
return implode(',', $ids);для экономии ресурсов            
                Да, так намного лучше            
                    
                Благодарю за помощь, всё работает!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.