Wie bekomme ich den minimalen Preis eines gruppierten Produkts aus einer Produktsammlung?

magento.stackexchange https://magento.stackexchange.com/questions/5139

  •  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.

War es hilfreich?

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
scroll top