Je récupère une collection de produits basée sur la catégorie actuelle. J'ai besoin que cette collection contienne des produits en stock et en rupture de stock, et j'ai également besoin que les données de prix soient affichées correctement.
Mon magasin est configuré pour stocker les prix des produits TTC, et pour afficher les prix à la fois inclus et exclusifs sur la devanture du magasin.
Le code d'obtention de la collection est le suivant:
$category = Mage::registry('current_category');
$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addCategoryFilter($category)
->addAttributeToSelect(['sku', 'name', 'price'])
->addAttributeToFilter('status', 1)
->addAttributeToSort('jump_number', Varien_Data_Collection::SORT_ORDER_ASC);
Le problème avec ce qui précède est que lors du chargement du bloc de prix à l'aide de la getPriceHtml()
méthode, les prix inclusifs et exclusifs sont affichés en tant que prix inclusif.
Après quelques recherches, j'ai constaté que l'ajout d'une addFinalPrice()
méthode à ma collection me donne le prix attendu - un prix exclusif et correct correct inclusif.
Cependant, si j'inclus la addFinalPrice()
méthode, ma collection ne contient plus de produits en rupture de stock.
Existe-t-il un moyen de renvoyer les données de prix correctes et de faire en sorte que la collection contienne des produits vendables et en rupture de stock?
J'ai résolu ce problème maintenant, et c'est en fait assez simple et logique - je devais juste aller sur
Configuration -> Catalog -> Inventory
et régler 'Afficher les produits en rupture de stock' surYes
.Avec la valeur ci-dessus définie
Yes
et laaddFinalPrice()
méthode ajoutée à la collection, j'obtiens maintenant tous mes produits et les données de prix correctes.la source