質問
これらのチュートリアルに従って、製品収集ページに%割引を表示しようとしています。http://www.pauldonnellyly.net/magento-display-sale-icon-if special-price/ http://shamimcse05.wordpress.com/2010/12/23/get special-price-or-relument-in-magento/
上記のコードでこれらを宣言しました。
$_productCollection=$this->getLoadedProductCollection();
$_helper = $this->helper('catalog/output');
次に、このループを使用してすべての製品を取得しました。
<?php foreach ($_productCollection as $_product): ?>
このループの下で、私はこれらの行を追加しようとしています、私は上記のチュートリアルをそのままにフォローしようとしましたが、それらはエラーを与え始めたので、私は混合してエラーを取り除くためにそれらを混ぜます。になった:
<?php $specialprice = Mage::getModel('catalog/product')->load($_product->getId())->getSpecialPrice();
$thisProduct= Mage::getModel('catalog/product')->load(product_id);
$regularprice = $thisProduct->getPrice();
// Get the Special Price FROM date
$specialPriceFromDate = $thisProduct->getSpecialFromDate();
// Get the Special Price TO date
$specialPriceToDate = $thisProduct->getSpecialToDate();
// Get Current date
$today = time();
if ($specialprice):
if($today >= strtotime( $specialPriceFromDate) && $today = strtotime( $specialPriceFromDate) && is_null($specialPriceToDate)):
$discount = (($regularprice-$specialprice)/$regularprice)*100 ;
endif;
endif; ?>
以下のコードを使用して出力を確認します。
echo "Discount is: ".$discount = (($regularprice-$specialprice)/$regularprice)*100 ."% OFF" ;
echo "</br>Special Price is: ".$specialprice;
echo "</br>Regular Price is: ".$regularprice;
echo "</br>Special Price from date is: ".$specialPriceFromDate;
そして、これは、有効な開始日と終了日を備えた特別価格が割り当てられている製品のページの出力です。
Discount is: 0% OFF
Special Price is: 500.0000
Regular Price is:
Special Price from date is:
特別価格の価値を得ていますが、「データから」と「現在まで」の通常の価格値を読み取っていません。
この問題を解決するのを手伝ってください。
解決
これはあなたのために働くはずです:
$myproductobject = Mage::getModel('catalog/product')->load($_product->getId());
$specialprice = $myproductobject->getSpecialPrice();
$regularprice = $myproductobject->getPrice();
$specialPriceFromDate = $myproductobject->getSpecialFromDate();
$specialPriceToDate = $myproductobject->getSpecialToDate();
$today = time();
if ($specialprice):
if($today >= strtotime( $specialPriceFromDate) && $today <= strtotime($specialPriceToDate) || $today >= strtotime( $specialPriceFromDate) && is_null($specialPriceToDate)):
$discount = (($regularprice-$specialprice)/$regularprice)*100 ;
endif;
endif;
所属していません magento.stackexchange