我正在尝试覆盖linkAction方法,以便我可以在S3等中提供可下载的内容。
答案 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相对)是你
不需要手动要求控制器中的旧控制器文件
您无需提供新的布局规则。 Magento似乎神奇地保留了布局句柄,因为它们是