Как сделать акции на опции? В магазине опции идут как различные варианты определённого товара (разный объём, цвет и т.д.) с своей кнопкой купить. Сейчас акции действуют на основную цену товара, и работают для опций только в том случае если цена опции +-0, если идет изменение то показывается основная цена (без учета акционной цены) +- цена опции. Проблема тут: Код: if ($option_value['price_prefix'] == '+') { $price = $price + $this->data['price'] . ' грн'; } else { if ($option_value['price_prefix'] == '-') { $price = $this->data['price'] - $price . ' грн'; } } Если прописать вместо $this->data['price'] = $this->data['special'] то цена отображается нормально (правда показывается не как акционная(с перечеркнутой предыдущей), а как обычная), но только в тех товарах где есть акции. Как можно сделать что б $this->data['special'] использовалось только в тех случаях если есть акции в товаре или подскажите модуль для решения этой проблемы? Спасибо.
Прописать условие на special, тоесть типа: Код: if (!$special) {нормальный вывод}else{вывод со скидкой}
Заработало с таким кодом: Код: if ($option_value['price_prefix'] == '+') { if ($product_info['special']) { $price = $price + $this->data['special'] . ' грн'; } else { $price = $price + $this->data['price'] . ' грн';} } Но в карточке товара цена отображается не как акционная (если опция идет +-0 то все хорошо). Вот код с product.tpl: Код: <?php if ($option_value['price']) { ?> <?php echo $text_price; ?> <strong><?php echo ($option_value['price']); ?></strong> <?php } else { ?> <?php echo $text_price; ?> <?php if (!$special) { ?> <strong><?php echo $price; ?></strong> <?php } else { ?> <span class="price-old"><strong><?php echo $price; ?></strong></span> <span class="price-new"><strong><?php echo $special; ?></strong></span> <?php } ?> <br /> <?php } ?> Что-то в данной ситуации можно изменить?
$price = $price + $this->data['special'] . ' грн'; замените на $special = $price + $this->data['special'] . ' грн';