mFilter
Добрый день!
Никак не могу в фильтр добавить фильтрацию по категориям товара
Вызов mfilter такой:
Подскажите, пожалуйста в чем моя ошибка!
Заранее благодарен!
Никак не могу в фильтр добавить фильтрацию по категориям товара
Вызов mfilter такой:
[[!mFilter?
&resources=`[[!getCatIds?parents=`[[*id]]` &depth=`4`]]`
&includeTVs=`1`
&includeTVList=`category`
&includeMS=`1`
&includeMSList=`price,new,favorite,popular,size,color`
&sortFilters=`tv_category,tv_subcategory,ms_price,ms_new,ms_favorite,ms_popular,ms_size,ms_color`
&tpl=`tpl.msProducts.row`
]]
Вот сниппет getCatIds:if (!empty($_REQUEST['query'])) {
$modx->setPlaceholder('parents', @$_REQUEST['parents']);
return;
}
if (!isset($parents) || empty($parents)) {
$parents = $modx->resource->id;
}
if (empty($depth)) {$depth = 1;}
$pids = array_map('trim', explode(',', $parents));
$parents = $pids;
foreach ($pids as $v) {
if (!is_numeric($v)) {continue;}
$parents = array_merge($parents, $modx->getChildIds($v, $depth));
}
$ids = array();
$q = $modx->newQuery('msProduct', array('parent:IN' => $parents, 'class_key' => 'msProduct', 'published' => 1, 'deleted' => 0));
$q->select('id');
if ($q->prepare() && $q->stmt->execute()) {
$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
}
$q = $modx->newQuery('msCategoryMember', array('category_id:IN' => $parents));
$q->select('product_id');
if ($q->prepare() && $q->stmt->execute()) {
$members = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
}
if (!empty($members)) {$ids = array_merge($ids, $members);}
return implode(',', $ids);
Но в фильтр упорно не выводятся категории, что бы можно было по ним фильтровать!Подскажите, пожалуйста в чем моя ошибка!
Заранее благодарен!