Wie bekomme ich den minimalen Preis eines gruppierten Produkts aus einer Produktsammlung?
-
16-10-2019 - |
Frage
Ich lade alle Produkte mithilfe des Ressourcenmodells für Produktsammlungen.
$_categoryId = $this->getCategoryId();
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addMinimalPrice()
->addFinalPrice()
->addTaxPercents()
->addCategoryFilter(Mage::getModel('catalog/category')->load($_categoryId))
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4);
Ich bin jedoch nicht in der Lage, den minimalen Preis für gruppierte Produkte beispielsweise nicht anzuzeigen.
echo $_productCollection->getFirstItem()->getMinimalPrice();
Dies funktioniert für einfache Produkte. Dies scheint mit der Tatsache zusammenhängen, dass dies ein Kern-/Vorlagenblocktyp und kein Katalog/product_list -Block ist. Die Verwendung von Catalog/Product_List ist jedoch aus anderen Gründen keine Option.
Lösung
Wenn Sie Ihren Code aktualisieren, sodass er nicht nur * ausgewählt wird, sondern die Katalogkonfigurationsattribute verwenden, funktioniert Ihr Code für alle Produkttypen.
Mage::getSingleton('catalog/config')->getProductAttributes()
Ihr Code sollte so aussehen.
$_categoryId = $this->getCategoryId();
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addMinimalPrice()
->addFinalPrice()
->addTaxPercents()
->addCategoryFilter(Mage::getModel('catalog/category')->load($_categoryId))
->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4);
In diesem Fall werden die richtigen minimalen Preise für jeden Produkttyp geladen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange