Бывают моменты, когда необходимо добавить "особые" условия в шаблоне материла. Ниже идут примеры, как получить быстрый доступ к данным цены с помощью API.
1. Условие от наличия товара на складе.
// Получаем из материала элемент цены по его идентификатору
$jbprice = $item->getElement('ELEMENT_ID');
// Создаем/Получаем объект JBCartVariantList. С ним и работаем.
$list = $jbprice->getList();
if($list->current()->inStock(1)) {
echo '<div class="container-in-stock"></div>';
} else {
echo '<div class="container-notin-stock"></div>';
}
2. Условие от стоимости товара.
// Получаем из материала элемент цены по его идентификатору
$jbprice = $item->getElement('ELEMENT_ID');
// Создаем/Получаем объект JBCartVariantList. С ним и работаем.
$list = $jbprice->getList();
// Узнаем итоговую стоимость
$total = $list->getTotal();
// Если стоимость товара больше 3000 рублей.
if($total->compare('3000 rub', '=>')) {
echo '<div class="container-rich"></div>';
} else {
echo '<div class="container-poor"></div>';
}
3. Есть/Нет скидки.
// Получаем из материала элемент цены по его идентификатору
$jbprice = $item->getElement('ELEMENT_ID');
// Создаем/Получаем объект JBCartVariantList. С ним и работаем.
$list = $jbprice->getList();
$total = $list->getTotal();
$price = $list->getPrice();
$discount = $total->minus($price, true);
$discount->positive();
if(!$discount->isEmpty()) {
echo '<div class="container-discount"></div>';
} else {
echo '<div class="container-no-discount"></div>';
}
4. Произвольное условие.
// Получаем из материала элемент цены по его идентификатору
$jbprice = $item->getElement('ELEMENT_ID');
// Создаем/Получаем объект JBCartVariantList. С ним и работаем.
$list = $jbprice->getList();
// Получаем элемент цены с актуальными данными
$element = $list->current()->get('ELEMENT_ID');
// Value элемента
$value = $element->get('value');
if($value == 'Искомое значение') {
echo '<div class="container-foundit"></div>';
} else {
echo '<div class="container-no-results"></div>';
}
Edited by tapakan, 25 August 2015 - 12:10.
















