我想知道为什么扩展magento控制器的步骤与模型或块不同。为什么不能像其他magento类一样扩展控制器?为什么我们必须将类文件包含在文件中,以便在控制器的情况下扩展它?
答案 0 :(得分:2)
简而言之:这就是Magento的设计方式(不允许像Model,Helper和Block一样覆盖控制器)。我的意思是他们可以自由地设计他们想要的东西。
总之:您始终可以通过工厂方法实例化模型,阻止,帮助,通常是Mage::getModel('your/model')
,Mage::getBlock('your/block')
和Mage::getHelper('module/helper')
。但是,不可能以这种方式实例化控制器。
工厂方法Mage :: getModel()检查所有配置文件(通常是所有模块的et / config.xml中的文件)以确定重载。但是,Controller类由路由器根据复杂的多级系统路由确定。