首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Magento:如何覆盖Mage_Core_Controller_Front_Action

Magento:如何覆盖Mage_Core_Controller_Front_Action
EN

Stack Overflow用户
提问于 2013-07-16 15:20:09
回答 1查看 1.8K关注 0票数 2

我想重写Mage_Core_Controller_Front_Action,将ACL检查添加到所有前端控制器操作中,类似于它在Mage_Adminhtml_Controller_Action::preDispatch()中使用Mage_Adminhtml_Controller_Action::_isAllowed()的方式。

我已经能够创建一个PackageName_ModuleName_Controller_Front_Action,它成功地扩展了Mage_Core_Controller_Front_Action,包括并从任何控制器使用它,然而,这种方法需要我现在扩展我想要添加ACL的每个Magento前端控制器,以便让它们使用我的新Front_Action。如果我想要拒绝,允许优先级策略设置,这是一个很大的覆盖。

如果有人知道如何以更有效的方式正确地扩展这个类,它肯定会派上用场,否则我想我可以处理一个Allow,拒绝优先级,但对于我的用例来说,这仍然是一个很大的重写。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 15:35:12

您可以不重写Mage_Core_Controller_Front_Action (正如您前面提到的那样,不覆盖基于该类的每个前端控制器),您可以在controller_action_predispatch事件上放置一个观察者,并使用与它一起发送的controller_action值(它实际上应该位于当前Mage_Core_Controller_Front_Action实例的前端)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17680604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档