我在config.xml文件中放置什么来覆盖可下载(Magento控制器)中的linkAction?

时间:2009-09-21 19:49:18

标签: php magento controller

我正在尝试覆盖linkAction方法,以便我可以在S3等中提供可下载的内容。

1 个答案:

答案 0 :(得分:3)

这在Magento 1.3分支中变得相当容易。您需要做的就是添加

<frontend>
    <routers>
       <downloadable>
         <args>
           <modules>
             <modulename before="Mage_Downloadable">Yourpackagename_Yourmodulename</modulename>
           </modules>
         </args>
       </downloadable>
    </routers>
</frontend>

&lt;可下载&gt;标签应与&lt; routers&gt;匹配您尝试覆盖的模块中的标记。 Mage_Downloadable是相同的类名前缀。 Yourpackagename_Yourmodulename是模块的类名前缀。

有了这个,Magento将首先检查模块的控制器以进行匹配。

app/code/local/Packagename/Modulename/controllers/DownloadController.php

如果找不到匹配的操作,它将回退到原始状态。请务必查看我的Magento Controller Dispatch Logging文章,以获取有关调试路由问题的帮助。

这种方法有什么特别之处(与rewrite approach相对)是你

  1. 不需要手动要求控制器中的旧控制器文件

  2. 您无需提供新的布局规则。 Magento似乎神奇地保留了布局句柄,因为它们是