Magento Helper überschreiben FUCK Mist Kotze
Es ist eigentlich für das Magento System bezeichnend das ich damit wieder anfange hoffentlich regelmäßig zu schreiben. Gestern bei der Arbeit war für mich (habe mir das Ziel selbst gesetzt) der Tag des Refactoring. Bis dahin kein Problem. Ziel war es diese kleinen fiesen Core Hacks die sich leider eingeschlichen haben (das Testen der Wirkung geht damit schnelle hihi) in eigene Module zu packen. Ich war gegen 13 Uhr wirklich guter Laune das ich das locker bis Tagesende schaffe. Bis ich an den CatalogSearch-Helper kam (Mage_CatalogSearch_Helper_Data). Dieser wollte sich einfach nicht mit folgendem Code überschreiben lassen:
<helpers>
<catalogsearch>
<rewrite>
<data>Company_CatalogSearchCustom_Helper_Data</data>
</rewrite>
</catalogsearch>
</helpers>
Die Syntax wurde zig Mal geprüft auch im IRC oder Forum konnte mir keine Helfen. Bis ich einen befreundeten Programmmiere ansprach (2 Stunden waren bis dahin vergangen). Dieser hatte noch mal flott selbst einen Dummy erstellt und mein Fehler reproduzieren können. Doch er bemerkte das die Klasse zweimal aufgerufen wurde, einmal die richtige Überschriebene und einmal die Originale. Nach weiterer Recherche stellte sich heraus das die Entwickler zwei Schreibweisen verwendet haben (siehe Mage_CatalogSearch_ResultController::indexAction() ab Zeile 46) einmal ‘catalogsearch’ und einmal ‘catalogSearch’. Super habe ich mir gedacht, nun haste so viel Zeit verloren und das nur wegen einer anderen Schreibweise. Als Workaround bis der Bug behoben ist kann man diesen Helper nun folgendermassen überschreiben:
<helpers>
<catalogsearch>
<rewrite>
<data>Company_CatalogSearchCustom_Helper_Data</data>
</rewrite>
</catalogsearch>
<catalogSearch>
<rewrite>
<data>Company_CatalogSearchCustom_Helper_Data</data>
</rewrite>
</catalogSearch>
</helpers>