Frage

Ich versuche, einen Altersrabatt auf die Produktsammlungspanne zu zeigen, und folgt folgende Tutorials:http://www.pauldonnelly.net/magento-display-Sale-icon-if-special-price/ http://shamimcse05.wordpress.com/2010/12/23/get-special-price-or-regular-price-in-magento/

Ich habe diese im obigen Code deklariert:

$_productCollection=$this->getLoadedProductCollection();
$_helper = $this->helper('catalog/output');

Dann habe ich diese Schleife verwendet, um alle Produkte zu erhalten:

<?php foreach ($_productCollection as $_product): ?>

Unter dieser Schleife versuche ich, diese Zeilen hinzuzufügen. Ich habe versucht, den oben genannten Tutorials so zu folgen, wie es ist, aber sie geben Fehler an, also habe ich mich gemischt, um Fehler loszuwerden, und hier ist, was der Code ist wurde:

         <?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; ?>

Ich verwende den folgenden Code, um die Ausgabe zu überprüfen:

                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;

Und dies ist die Ausgabe auf der Seite für die Produkte, denen Sonderpreis zugewiesen wurde, mit gültigen Start- und Enddaten:

Discount is: 0% OFF
Special Price is: 500.0000
Regular Price is:
Special Price from date is:

Es wird die Werte des Sonderpreises erhalten, aber es wird nicht den regulären Preiswert "aus Daten" und "bisher" gelesen.

Bitte helfen Sie mir, dieses Problem zu lösen.

War es hilfreich?

Lösung

Dies sollte für Sie funktionieren:

$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;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top