我正在尝试对Magento商店中的Checkout控制器进行一些更改,但是,当我尝试将控制器文件放入我的本地目录时,它似乎并不尊重本地文件。
我已经检查过这些文件位于各自代码池中的相同位置,并且这些文件的名称相同,它只是不会这样做。
这些是我拥有的两个文件的文件路径。
Magento中的结帐文件有什么特别之处可以阻止它们被覆盖吗?
答案 0 :(得分:14)
仅供参考,仅将相关文件放在具有相同文件夹结构的本地文件夹中,控制器覆盖不起作用。相反,您需要遵循以下语法:
<config>
<frontend> [1]
<routers>
<checkout> [2]
<args>
<modules>
<yourModule before="Mage_Checkout">Namespace_Module_Overwrite_Checkout</yourModule> [3]
</modules>
</args>
</checkout>
</routers>
</frontend>
</config>
[1] Depending on the controllers area ,"frontend" or "admin" [2] Router node of the module to be overridden (look it up in the config.xml of that module) [3] The tag can be anything, it must be unique within the node. Your_Module_Overwrite_Checkout (is mapped to directory) Your/Module/controllers/Overwrite/Checkout/ Hope this helps. Regards MagePsycho
答案 1 :(得分:1)
阅读lichal的Magento Wiki,了解完整的解决方案: https://wiki.magento.com/display/m1wiki/How+To+Overload+a+Controller