Как вывести минимальную цену в категории?
Можно ли как-то вывести минимальную цену дочерних товаров в родительской категории? Типа: Телефоны Nokia от *** руб.
Комментарии: 10
Самый простой вариант — сниппет в чанке оформления категории:
При вызове нужно указать id категории:
$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]]`]]
Василий, спасибо тебе большое.
Приветствую. Я совсем новичок.
Можете поэтапно подсказать что и как создавать (снипет, банк, и как вызывать)
Можете поэтапно подсказать что и как создавать (снипет, банк, и как вызывать)
Пользуйтесь поиском, разных уроков и статей очень много. Например:
Коллекция статей, уроков и примеров по CMS MODX
Lectoria OpenMODX
Коллекция статей, уроков и примеров по CMS MODX
Lectoria OpenMODX
Василий, извини за назоливоасть, но сниппет не учитывает отключенные и удаленные товары. Можно это как-то исправить?
Просто исправьте вторую строчку на:
$q = $modx->newQuery('msProduct', array('parent' => $id, 'deleted' => 0, 'published' => 1));
Василий, большое спасибо.
Это был Сергей =)
Мои извинения…
Сергей, Василий большое ВАМ спасибо.
Сергей, Василий большое ВАМ спасибо.
Обновлю топик.
Василий, как таким же простым сниппетом вывести минимальную цену на странице категории, если товар привязан к этой категории через ms2_product_categories?
Решение [[!msProducts? &parents=`[[*id]]` &limit=`1` &tpl=`@INLINE [[+price]]` &sortby=`Data.price`]] сделал. Но, хочется проще…
Заранее спасибо!
Василий, как таким же простым сниппетом вывести минимальную цену на странице категории, если товар привязан к этой категории через ms2_product_categories?
Решение [[!msProducts? &parents=`[[*id]]` &limit=`1` &tpl=`@INLINE [[+price]]` &sortby=`Data.price`]] сделал. Но, хочется проще…
Заранее спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.