2

在 Magento 中,我想修改抽象类的代码。具体来说,我想修改 Mage_Core_Model_Resource_Db_Abstract 类的函数 _getReadAdapter() 的行为。

根据 Alan Storm 的这篇文章http://alanstorm.com/magento_upgrade_rewrite_override,有三种方法可以做到这一点。修改 Magento 的源代码非常糟糕,不鼓励。另一方面,在我看来,我不能使用 Magento 的覆盖/重写系统,因为抽象类既不是模型、助手也不是块。那是对的吗?

因此,解决此问题的唯一方法是在 app/local/Mage 复制此特定源代码,并修改此新副本的代码。那正确吗?

4

2 回答 2

2

是的,使用代码池app/code/local是要走的路。

这是因为abstract类不是由 Magento 工厂处理的,而是在类定义中逐字扩展的。

于 2012-09-11T09:23:21.383 回答
0

实际上你不应该修改抽象类,而是应该修改扩展这个抽象类的派生类

于 2012-09-11T10:19:55.997 回答