Вопрос

Я пытаюсь показать значок продажи над изображением продуктов со специальной ценой на каталоге и страницах продукта.

Я использовал следующий PHP:

<?php // sale badge ?>
<?php
    $specialPrice = $_product->getSpecialPrice();
    $specialPriceFromDate = $_product->getSpecialFromDate();
    $specialPriceToDate   = $_product->getSpecialToDate();
?>
<?php if ($specialPrice || ($currentDate >= $specialPriceFromDate && $currentDate <= $specialPriceToDate) || ($currentDate >= $specialPriceFromDate && $specialPriceFromDate != '' && $specialPriceToDate == '')): ?>
    <span class="sale-badge"><?php echo $this->__('Sale') ?></span>
<?php endif; ?>
.

Это правильно отображает значок, если специальная цена на сегодняшний день не пройдет, когда она по-прежнему отображает значок, даже если продукт больше не по специальной цене.

Идея предназначена для отображения значка в следующих сценариях:

  1. нет специальных или специальных для набора датеков (I.e. Продукт постоянно навсегда навсегда до тех пор, пока не изменяется вручную)
  2. Есть с даты, но нет на сегодняшний день (то есть как только из даты проходит продукт навсегда на специальное время до изменений вручную)
  3. нет с даты, но есть на сегодняшний день (то есть продукт на специальном, пока на сегодняшний день не проходит)
  4. есть от а до на сегодняшний день (то есть продукт только на специальном виде в течение определенного периода)

    Я уверен, что я просто пропустил что-то очевидное, но может кто-то указать, что это так, пожалуйста?

Это было полезно?

Решение

Hugh, у вас не нужно много кодов. Просто проверка окончательной цен меньше, чем цена продукта. Линальная цена рассчитывает автоматически.

попробуйте это

<?php if($_product->getFinalPrice()<$_product->getPrice()): ?>
  <span class="sale-badge"><?php echo $this->__('Sale') ?></span>
    <?php endif; ?>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top