Выбрать определенный TV у ресурса
Нужно выбрать значения TV параметра у ресурса и его дочерних ресурсов. Дело в том что они могут повторятся и нужно их сгруппировать. Подскажите как это сделать, заранее благодарю за ответы
Более понятно: — есть каталог с категориями и товарами у товаров есть различные производители, записаны они в TV
В каждой категории нужно вывести список производителей но не весь, а только тех товаров которые есть в категории и еще их нужно сгруппировать, чтоб они не повторялись
Более понятно: — есть каталог с категориями и товарами у товаров есть различные производители, записаны они в TV
В каждой категории нужно вывести список производителей но не весь, а только тех товаров которые есть в категории и еще их нужно сгруппировать, чтоб они не повторялись
Поблагодарить автора
Отправить деньги
Комментарии: 2
Вы еще храните производителей в ТВ параметрах? Тогда мы идём к вам!
А если серьезно, попробуй вот поизучать материал, только его нужно переделать на работу с ТВ.
Там и выбор производителей есть, можно дополнительно фильтровать по категориям, если получить сначала их ids через $modx->getChildIds();
В общем, нужно писать свою выборку.
А если серьезно, попробуй вот поизучать материал, только его нужно переделать на работу с ТВ.
Там и выбор производителей есть, можно дополнительно фильтровать по категориям, если получить сначала их ids через $modx->getChildIds();
В общем, нужно писать свою выборку.
Благодарю.
Если кому то понадобится, то примерно так
Если кому то понадобится, то примерно так
$parent = $modx->resource->get('id');
$childs = $modx->getChildIds($parent);
$q = $modx->newQuery('modResource');
$q->innerJoin('modTemplateVarResource','mTV','mTV.contentid = modResource.id');
$q->where(array('id:IN' => $childs,'mTV.tmplvarid'=>22));
$q->groupby('mTV.value');
$q->limit(1000);
$res = $modx->getCollection('modResource', $q);
foreach ($res as $v) {
echo $v->getTVValue('manufacturer').'
';
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.