Domanda

Sto cercando di visualizzare un badge di vendita sull'immagine dei prodotti con un prezzo speciale sul catalogo e sulle pagine dei prodotti.

Ho usato il seguente 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; ?>
.

Visualizza il badge correttamente a meno che il prezzo speciale di data non sia passato quando visualizza ancora il badge anche se il prodotto non è più al prezzo speciale.

L'idea è per il distintivo da visualizzare nei seguenti scenari:

    .
  1. Non ci sono speciali da date o speciali per date (cioè il prodotto è permanentemente su speciale fino al modificato manualmente)
  2. Esiste una data ma non data (cioè una volta che la data finalizza il prodotto è permanentemente su speciale fino al modifica manuale)
  3. Non esiste una data ma c'è una fino ad oggi (cioè il prodotto è in particolare fino ad oggi passa)
  4. c'è da e per data (cioè il prodotto è solo su speciale all'interno del periodo definito)

    Sono sicuro che ho appena perso qualcosa di ovvio ma qualcuno può indicare quello che è per favore?

È stato utile?

Soluzione

hugh, tu non hai bisogno di molti codici. Controllare il prezzo finale del prezzo è meno quindi il prezzo del prodotto. Il prezzo di riferimento è calcola automaticamente.

Prova questo

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top