Проблема с выводом товаров опеределенного размера

Всем привет!
Необходимо вывести товары определенного размера, делаю следующим образом:

Сниппет testSnip (одно из решений Василия):

<?php
$key = 'size'; // имя опции товара
$category = 23; // фильтрация по категории
$param1 = 'value';

$q = $modx->newQuery('msProductOption');
$q->innerJoin('msProduct', 'msProduct', 'msProduct.id=msProductOption.product_id');
$q->where(array('msProductOption.key' => $key, 'msProductOption.value'=> $param1));
$q->sortby('msProductOption.value','ASC');
$q->select('DISTINCT(msProductOption.value), msProduct.id');
$q->where(array('msProductOption.key' => $key));
if (!empty($category)) {
    $ids = $modx->getChildIds($category);
    $ids[] = $category;
    $q->innerJoin('msCategory', 'msCategory', 'msCategory.id=msProduct.parent');
    $q->where(array('msCategory.id:IN' => $ids));
}
$result = array();
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        $res['id'][] = $row['id'];
	}
	$result = implode(",", array_unique($res['id'])) ;

}
print_r($result);
Далее создаю новый ресурс, где пишу:

[[!msProducts? &parents=`23` &includeThumbs=`193x` &resources=`[[!testSnip? ¶m1=`60x60`]]`]]
После чего происходит выбор кучи товаров, со всеми размерами подрят…

Но, если указывать значение param1 в самом сниппете и вызывать его просто, то все работает. Не подскажете в чем проблема?
Дмитрий Суворов
05 марта 2014, 12:50
modx.pro
936
+1

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

Василий Наумкин
05 марта 2014, 16:53
+1
Эммм…

Так ты в сниппете всегда перезаписываешь $param1. Нужно так:
if (empty($param1)) {$param1 = 'value';}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2