2010-09-28 13 views
11

J'ai une question concernant le répertoire local de Magento. J'essaie de remplacer un contrôleur de base - Mage/Contacts/controllers/IndexController.php.Magento - le contrôleur local ne fonctionne pas

Je copié IndexController.php à /app/local/Mage/Contacts/controllers/

mais Magento utilise toujours le fichier de base. Je peux le confirmer parce que je vois la page 404 quand je renommer Mage/Contacts/controllers/IndexController.php en IndexController.php_.

S'il vous plaît me conseiller.

Merci!

+1

le même problème, solution - http://stackoverflow.com/questions/19814600/magento-copy-controller-to-local?answertab=votes#tab- top –

Répondre

21

La copie d'un contrôleur dans le chemin app/code/local ne fonctionne malheureusement pas en raison de l'architecture de chargement automatique de Magento. Il fonctionne avec des blocs, des modèles et d'autres objets, mais pas avec des contrôleurs.

Il existe une procédure détaillée expliquant comment remplacer un contrôleur sur le wiki. Et un blog post par @prattski

Essayez de suivre ceux-ci, puis revenez avec des questions spécifiques.

HTH, JD

+0

Ca marche !! Merci! – Moon

+0

Pour moi, ce n'est pas le cas pour certains blocs (par exemple /local/Mage/GoogleAnalytics/Block/Ga.php). Je voudrais vraiment savoir l'algorithme que Magento utilise pour déterminer quand utiliser les instances du répertoire local et quand ce n'est pas le cas. –