2010-09-28 4 views
11

Ich habe eine Frage bezüglich des lokalen Magento-Verzeichnisses.Magento - lokaler Controller funktioniert nicht

Ich versuche, einen Core-Controller zu überschreiben - Mage/Contacts/controllers/IndexController.php. So

Ich kopierte IndexController.php zu /app/local/Mage/Contacts/controllers/

aber Magento ist nach wie vor Kerndatei. Ich kann es bestätigen, weil ich 404 Seite sehe, wenn ich Mage/Kontakte/controllers/IndexController.php zu IndexController.php_ umbenenne.

Bitte beraten Sie mich.

Danke!

+1

Habe das gleiche Problem, Lösung - http://stackoverflow.com/questions/19814600/magento-copy-controller-to-local?answertab=votes#tab- top –

Antwort

21

Das Kopieren eines Controllers in den Pfad app/code/local funktioniert leider nicht aufgrund der Autoload-Architektur von Magento. Es funktioniert mit Blöcken, Modellen und anderen Objekten, aber nicht mit Controllern.

Es gibt eine detaillierte Anleitung zum Überschreiben eines Controllers auf dem wiki. Und ein blog post von @ prattski

Versuchen Sie, diese zu folgen, dann kommen Sie zurück mit spezifischen Fragen.

HTH, JD

+0

Es funktioniert !! Vielen Dank! – Moon

+0

Für mich ist es auch nicht mit einigen Blöcken (z. B. /local/Mage/GoogleAnalytics/Block/Ga.php). Möchte wirklich den Algorithmus wissen, mit dem Magento bestimmt, wann lokale Verzeichnisinstanzen verwendet werden sollen und wann nicht. –