Как вывести минимальную цену в категории?

Можно ли как-то вывести минимальную цену дочерних товаров в родительской категории? Типа: Телефоны Nokia от *** руб.
Evgeny Epifanov
Evgeny Epifanov
02 ноября 2013, 08:09
modx.pro
4 323

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

Василий Наумкин
02 ноября 2013, 13:38
Самый простой вариант — сниппет в чанке оформления категории:
$price = 0;
$q = $modx->newQuery('msProduct', array('parent' => $id));
$q->innerJoin('msProductData', 'Data', 'msProduct.id = Data.id');
$q->sortby('Data.price', 'asc');
$q->select('Data.price');
$q->limit(1);
if ($q->prepare() && $q->stmt->execute()) {
	$price = $q->stmt->fetch(PDO::FETCH_COLUMN);
}
return $price;

При вызове нужно указать id категории:
[[!getMinPrice?id=`[[+id]]`]]
    Evgeny Epifanov
    03 ноября 2013, 01:47
    Василий, спасибо тебе большое.
    Evgeny Epifanov
    05 ноября 2013, 16:15
    Василий, извини за назоливоасть, но сниппет не учитывает отключенные и удаленные товары. Можно это как-то исправить?
      Сергей
      05 ноября 2013, 16:34
      Просто исправьте вторую строчку на:
      $q = $modx->newQuery('msProduct', array('parent' => $id, 'deleted' => 0, 'published' => 1));
Серьёзный
07 апреля 2015, 17:03
Обновлю топик.

Василий, как таким же простым сниппетом вывести минимальную цену на странице категории, если товар привязан к этой категории через ms2_product_categories?

Решение [[!msProducts? &parents=`[[*id]]` &limit=`1` &tpl=`@INLINE [[+price]]` &sortby=`Data.price`]] сделал. Но, хочется проще…

Заранее спасибо!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    10