Question

Je suis en train d'afficher% de réduction de l'âge à la page de collecte de produits, suivant ces tutoriels: http://www.pauldonnelly.net/magento-display- vente-icon-si-prix de spécial / http: // shamimcse05. wordpress.com/2010/12/23/get-special-price-or-regular-price-in-magento/

Je l'ai déclaré ce dans le code ci-dessus:

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

Alors je l'ai utilisé cette boucle pour obtenir tous les produits:

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

Dans cette boucle, je suis en train d'ajouter ces lignes, je l'ai essayé suivant ce qui précède didacticiels mentionnés comme il est, mais ils commencer en donnant des erreurs, donc je mélange, les à se débarrasser des erreurs, et voici ce que le code est devenu:

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

J'utilise le code ci-dessous pour vérifier la sortie:

                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;

et c'est la sortie sur la page pour les produits qui ont été assignés prix spécial, avec début et de fin valides:

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

Il obtient les valeurs de prix spécial, mais il ne lit pas la valeur du prix régulier, « A partir de données » et « à ce jour ».

S'il vous plaît me aider à résoudre ce problème.

Était-ce utile?

La solution

Cela devrait fonctionner pour vous:

$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;
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top