Zusätzliche Attribute im Warenkorb anzeigen

Es kann vorkommen das der Kunde im Warenkorb weitere Attribute sehen möchte. Hier sollte man es jedoch möglichst vermeiden für jedes Produkt im Warenkorb ein $product->load() aufzurufen. Das erhöht die Ladezeit unnötig. Viel einfacher dagegen ist das Hinzufügen der benötigen Attributen zur Product-Collection. So sind sie direkt geladen kann man die Attribute schnell und ohne Verzögerung abrufen und anzeigen.

Dazu sind wirklich nur ein paar Zeilen Quellcode in der config.xml seines Moduls notwendig:

<config>
	[..]
	<global>
		[..]
        	<sales>
	            <quote>
        	        <item>
                	    <product_attributes>
                        	<abmessung/>
	                    </product_attributes>
        	        </item>
	            </quote>
        	</sales>
	    	[..]
	</global>
	[..]
</config>

Danach kann der Wert des Attribute Abmessung ganz einfach im Template checkout/cart/item/default.phtml wie folgt ausgegeben werden:

<?php echo $this->getProduct()->getAbmessung(); ?>

(Vielen Dank an Falk Optiz für den Tipp)



Ein Beitrag von Tobias Vogt
Tobias's avatar

Tobias Vogt arbeitet seit 2008 mit Magento und ist seit 2011 durch Magento zertifizierter Entwickler. Seit 2016 ist er Mitgründer und CTO bei der connect-io GmbH, einer Magento-Agentur mit Sitz im idyllischen Paderborn-Salzkotten. Er gehört zum Gründer-Team der Webguys und ist seit November 2011 Bachelor of Science (Wirtschaftsinformatik). Sie erreichen Ihn per E-Mail unter tobi@webguys.de.

Alle Beiträge von Tobias

Kommentare
Marcus am

Hallo Webguys,

ich würde gerne wissen wie man Attribute verlinkt. Über die attributes.phtml kann man ja z.B. “blau” beim Attribut “Farbe” ausgeben lassen. Nun würde ich aber den Wert “blau” verlinken sodaß man auf Klick alle blauen Artikel angezeigt kriegt. Ich denke mal, dass es funktioniert wenn man in der attributes.phtml die Attribut-Ausgabe in einen link einbettet, z.B. beim Attribut Farbe mit “/catalogsearch/advanced/result/?color%5B%5D=154″ wo bei in diesem Beispiel 154 die ID für “blau” ist.

Könnt ihr mir helfen?

Herzliche Grüße, Marcus

Tobias Vogt am

Guter Hinweis Nico, danke!

Nicolai Essig am

Moin,

Man kann das auch dynamisch über das Event "sales_quote_config_get_product_attributes" auffüllen. Sehr praktisch.

Dein Kommentar