我只需要在Mage_Core_Model_Abstract类中添加一个方法.
为此,在我的config.PHP中我有
<models> <mymodule> <class>Mynamespace_Mymodule_Model</class> </mymodule> <core> <rewrite> <mage_core_model_abstract>Mynamespace_Mymodule_Model_Abstract</mage_core_model_abstract> </rewrite> </core> </models>
它真的不起作用..
我知道有一种方法可以通过将包括类文件在内的所有文件夹结构复制到我的模块中来“覆盖”,但我想知道是否有办法让它在我的模块中更加花哨 – 类似于上面的内容..
您只能从config.xml重写直接实例化的类.
通过工厂创建对象时使用config.xml中的各种值(例如Mage :: getModel($class),Mage :: getSingleton($class),Mage :: helper($class)等). $class参数的值用于将目录/产品转换为Mage_Catalog_Model_Product.
这意味着不可能重写(在Magento意义上)用作超类的类,包括抽象类(根据定义).
如果要重新定义用作超类的任何类,则需要将文件放在包含路径的正确位置.在这种情况下,您需要在app / code / local / Mage / Core / Model / Abstract.PHP中创建一个文件.