【问题标题】:Magento overriding core controller in local folderMagento 覆盖本地文件夹中的核心控制器
【发布时间】:2012-10-30 08:29:27
【问题描述】:

我已将 app/code/core/Mage/Checkout/controllers/OnepageController.php 复制到 app/code/local/Mage/Checkout/controllers/OnepageController.php > 并覆盖了一项功能。我也刷新了缓存,但没有调用覆盖的控制器,而是调用了原始控制器。

为什么我的覆盖不起作用?我对其他核心文件做了同样的覆盖,效果很好。

【问题讨论】:

  • 自动加载器不(不能)包含控制器文件,因此包含路径优先级不适用。

标签: php magento magento-1.7


【解决方案1】:
  1. 编译是否关闭?

  2. 尝试创建自己的控制器来覆盖核心控制器,而不是复制和编辑 Magento 核心文件。

http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_overload_a_controller

另见:How can I override a Magento controller?

【讨论】:

  • 1.编译关闭。 2. 我创建了自己的控制器,但它破坏了其他东西,所以我发现像这样覆盖它会更容易。
  • 您的 OnepageController 是否已被其他模块覆盖/扩展?
  • 不,不是,我检查了这个表格 Eclipse,甚至在原始文件中添加了调试,并调用了带有调试的原始文件。
  • 我设法通过更改我自己的模块 config.xml 来覆盖控制器,我必须使用 My_Module 行。显然你不能覆盖控制器文件夹中的文件。
猜你喜欢
  • 2016-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
相关资源
最近更新 更多