質問

カタログと製品ページに特別価格で製品の画像の上に販売バッジを表示しようとしています。

次の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. 日付セットの特別なものや特別なものはありません(すなわち、商品は手動で変更されるまで特別に特別に特別に永久的にしている)
  2. 日付は日付がありますが、今日までにはありません(すなわち、最新の日付が手動で変更されるまで特別に特別に渡されると)
  3. 日付からはありませんが、日付がある(すなわち、最新のパスが渡すまで特別なものにある)
  4. 発表とAからAT DATE(すなわち、製品は定義された期間内にのみ特別な)

    私はちょうど明白なものを逃しただけだったと確信していますが、誰かがそれが何であるかを指摘することができますか?

役に立ちましたか?

解決

HUGH、あなたは符号の多くを必要としています。最終価格は、製品価格.Final Priceが自動的に計算されます。

これを試してください

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

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top