Вывод ресурсов с разных категорий по условию

Добрый день.
Подскажите, как решить такую задачу:
На сайте есть каталог, сформированный по брендам. Далее подробно.

Каталог
-Бренд 1
--Категория 1
--Категория 2
-Бренд 2
--Категория 1
--Категория 2
--Категория 3
-Бренд 3
--Категория 1
--Категория 2
--Категория 3

В категориях также есть материалы, но они для задачи не важны.
Нужно сделать блок, который формировал бы выгрузки не на основе брендов, а на основе Категорий.
то есть При переходе по ссылке с главной например, Категория 1 — я попадаю на страницу, на которой выведены все бренды, где есть категория 1 (то есть во всех три бренда), если е примеру жму по ссылке Категория 3 — то тут уже покажутся только Бренд 2 и Бренд 3

Сложность для меня состоит в том, что не хочется создавать просто еще одну категорию, внтренние страницы и так далее всю структуру, потому что наполнения много, да и дублировать одно и тоже нет смысла я думаю.

Есть ли возможность каким-то сниппетом получить нужные ID на основании названий внутренних категорий, например?
Андрей
28 августа 2016, 08:47
modx.pro
1 284
0

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

Андрей
29 августа 2016, 10:40
0
В общем я сделал такой простенький сниппет, даже 2 варианта.
Вариант 1:
<?php
$where = array(
    'pagetitle' => 'Категория 1'
    );
$resources = $modx->getCollection('modResource',$where);
		$output = '';
		foreach ($resources as $k => $res) {
		$output[] = $res->get('parent');
	}
$output = implode(', ', $output);
return $output;
Вариант 2:
<?php
$where = array(
    'pagetitle' => 'Категория 1'
    );
$resources = $modx->getCollection('modResource',$where);
		$output = '';
		foreach ($resources as $k => $res) {
		$output[] = $res->get('parent');
	}
$output = implode(', ', $output);
$params = array();
$params['parents'] = '0';
$params['resources'] = '15,17,20,21,22,24';
$params['tpl'] = 'product_tpl';
$params['showLog'] = '1';
$params['includeTVs']='image';
$params['sortby']='{"createdon":"ASC"}';
$res = $modx->runSnippet('pdoResources', $params);

if (!empty($res)) {
    return $res;
}
Но в результате вывожу на странице если по варианту 1 то Просто вызов pdoResources с параметром &resources=`[[!mySnippet]]`…
Если по варианту 2, то просто вызываю [[!mySnippet]]

и там и там выводит не то, что нужно — то выводит вообще все материалы категории, то вообще ничего не выводит.
Мне кажется вариант 1 предпочтительнее, просто передать нужные ID в pdoResources. Подскажите как это сделать?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1