2 votes

Magento : Comment surcharger Mage_Core_Controller_Front_Action

J'aimerais passer outre Mage_Core_Controller_Front_Action pour ajouter des contrôles ACL à toutes les actions des contrôleurs frontaux, de la même manière qu'en Mage_Adminhtml_Controller_Action::preDispatch() en utilisant Mage_Adminhtml_Controller_Action::_isAllowed() .

J'ai pu créer un PackageName_ModuleName_Controller_Front_Action qui étend avec succès Mage_Core_Controller_Front_Action et l'utiliser à partir de n'importe quel contrôleur. Cependant, cette méthode nécessiterait que j'étende maintenant tous Contrôleur frontal Magento auquel je veux ajouter des ACLs afin qu'il utilise ma nouvelle Action_Front. Si je veux une politique de priorité Deny, Allow, c'est beaucoup de surcharges.

Si quelqu'un sait comment étendre correctement cette classe de manière plus efficace, ce serait certainement utile, sinon je suppose que je pourrais travailler sur une priorité Allow, Deny, mais cela va encore être beaucoup de surcharge pour mon cas d'utilisation.

3voto

blmage Points 4144

Au lieu de remplacer Mage_Core_Controller_Front_Action (ce qui est presque impossible sans, comme vous l'avez mentionné, surcharger chaque contrôleur frontal basé sur cette classe), vous pouvez placer un observateur sur la classe controller_action_predispatch et utiliser l'événement controller_action qui est envoyée avec elle (et qui devrait en fait être sur le front-end de l'instance actuelle de Mage_Core_Controller_Front_Action ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X