Ein Produkt mehrfach in den Warenkorb legen

Immer wieder bekommt man die Anforderung, dass ein und das selbe Produkt mehrfach in den Warenkorb gelegt werden soll. Im Standard werden diese Produkte von Magento dann automatisch zu einer Position zusammengefasst. Um dem entgegen zu wirken, muss dem Produkt einfach nur eine zusätzliche Option gegeben werden, welche sich von dem anderen Produkt im Warenkorb unterscheidet. Damit sind es für Magento zwei verschiedene Produkte, welche natürlich nicht zusammen gelegt werden sollten.

In der Praxis sieht es dann so aus, dass man einen neuen Observer erstellt, welcher dann das Quote-Item um eine Position erweitert.

<sales_quote_product_add_after>
    <observers>
        <webguys_module>
            <class>webguys_module/observer</class>
            <method>salesQuoteProductAddAfter</method>
        </webguys_module>
    </observers>
</sales_quote_product_add_after>

public function salesQuoteProductAddAfter($event)
{
    $items = $event->getItems();

    /* @var $item Mage_Sales_Model_Quote_Item */
    foreach ($items AS $quoteItem) {
        $product = $quoteItem->getProduct();
        $quoteItem->addOption(
            new Varien_Object(
                array(
                    'product' => $product,
                    'code' => 'unique_id',
                    'value' => uniqid()
                )
            )
        );
    }
}



Ein Beitrag von Matthias Kleine
Matthias's avatar

Matthias Kleine hatte Mitte 2012 die ersten Kontakte mit Magento - dies geschah durch die Anstellung bei der code-x GmbH als Softwareentwickler. Seit dem bildet er sich ständig im Bereich eCommerce fort, schreibt eigene Extensions und stellt diese gerne auch als OpenSource-Projekte auf GitHub zur Verfügung. Seit Ende 2013 wird Matthias auch im Verzeichnis der zertifizierten Magento-Entwickler gelistet. @klein0r

Alle Beiträge von Matthias

Kommentare
Zusatzinformationen für Produkte im Warenkorb anzeigen - Magento Blog für Entwickler und eCommerce-Shops - webguys.de Magento Blog für Entwickler und eCommerce-Shops – webguys.de am

[…] Aktuell entwickle ich gerade eine Erweiterung, mit welcher man Abo-Artikel abbilden kann. Dazu möchte ich je Artikel im Warenkorb natürlich anzeigen, ab wann das Abo losgeht, und vor allem wie oft es angestoßen wird. Hierzu nutzen wir das gleiche Event, wie schon beim Problem, jeden Artikel einzeln im Warenkorb aufzuführen. […]

Dein Kommentar