Magento: comment obtenir le prix d'un produit avec des règles de catalogue appliquées
Je suis le développement d'un script externe (pour Magento, pas un module), qui vise à produire un texte liste de tous les produits disponibles, leurs prix et d'autres attributs. Cependant, catalogue de règles de prix ne semble pas être appliquée aux prix des produits. Si j'utilise une des opérations suivantes:
$_product->getPrice()
$_product->getFinalPrice()
- Je obtenir le prix normal (sans les règles appliquées).
Si j'utilise:
$_product->getSpecialPrice()
- Je obtenir nullsauf si le produit a fait un prix spécial inséré dans le produit lui-même (c'est à dire si le prix spécial n'est pas en rapport avec le catalogue de règles).
J'ai aussi essayé
Mage::getModel('catalogrule/rule')->calcProductPriceRule($product,$product->getPrice())
comme suggéré dans la réponse donnée par Fabian Blechschmidt, mais il est intéressant de noter qu'il renvoie le prix normal uniquement si le produit est affecté par tout le catalogue de la règle, de retour null autrement.
Il y a une question similaire dans StackOverflow et Magento Forums il y a quelques temps, mais la condition de la réponse (qui est d'insérer le code ci-dessous) ne fonctionne pas pour moi (renvoyé les prix restent les mêmes).
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND,Mage_Core_Model_App_Area::PART_EVENTS);
Quelqu'un a une idée de comment faire?
Je suis en utilisant Magento 1.6.2.0.
Merci à l'avance.
source d'informationauteur faken | 2012-12-30
Vous devez vous connecter pour publier un commentaire.
Grâce à vous, j'ai trouvé un nouveau site:
http://www.catgento.com/magento-useful-functions-cheatsheet/
Et ils ont mentionné:
HTH
J'ai découvert le problème. La valeur actualisée de l'affichage de vos prix Ok en magasin frontend. Le problème était que j'était en train de développer un script "externe" de Magento (donc pas un module Magento), quelque chose comme:
Pour que tout fonctionne correctement, il semble que l'on doit suivre le bon Magento bootstrap, et tout développer en tant que module. Mon script était tellement simple que j'ai pensé qu'il ne serait pas nécessaire de coder un module complet. En d'autres termes, tout en Magento devrait vraiment être un module.
Finales, en utilisant le module d'approche, toutes les méthodes fonctionnent comme prévu:
Merci à tous pour votre entrée.
Cela m'a aidé dans ce numéro: http://www.magentocommerce.com/boards/viewthread/176883/
. Jernej est la solution qui semble plausible, mais il ne gère pas les règles qui Écrasent les autres règles en utilisant la fonction "arrêt de traitement" et ne peut donc faire plus d'une règle.
Catalogue règles de prix dépendent énormément de temps, de stocker et de visite client, vous devez définir ces paramètres lorsque vous souhaitez récupérer le prix final du produit avec son prix règles appliquées.
Donc, dans votre cas, assurez-vous que le produit fourni est passé le magasin et le client id de groupe, qui peut être défini comme suit: