Magento Themes and Magento Extensions

Attribut-Werte vor der Ausgabe im Frontend verandern

Share
Posted on October 31st, 2014 | Posted by admin

Für alle, die sich schon immer gefragt haben, wofür eigentlich der Catalog-Output-Helper ist, möchte ich in diesem Beitrag einmal ein wenig Licht ins Dunkel bringen. Um genau zu sein, geht es um folgende Zeilen

$_helper = $this->helper('catalog/output');
echo $_helper->productAttribute($_product, $_product->getDeliveryTime() , 'delivery_time');
// oder
echo $_helper->categoryAttribute($_category, $_category->getName(), 'name');

Warum sollte man also die Ausgabe eines Produktattributes noch einmal durch einen Helper schieben müssen? Man will doch einfach nur einen bestimmten Wert haben und sonst nichts, oder?

Der Grund ist ganz einfach: Durch verschiedene Handler ist es möglich, die Ausgabe eines jeden Attributes zu manipulieren. Die entsprechenden Handler müssen einfach nur im Output-Helper registriert werden, und schon kann man durchstarten.

Zum Start schauen wir uns einmal das Event catalog_helper_output_construct an. Dieses wird aufgerufen, wenn der Output-Helper instanziiert wird. Wir wir wissen, handelt es sich bei einem Helper immer um ein Singleton – so wird das Event also auch nur ein einziges Mal geworfen.