覆盖/扩展Magento抽象类



我只需要添加一个方法到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的值用于将catalog/product转换为Mage_Catalog_Model_Product

这意味着不可能重写(在Magento意义上)用作超类的类,包括抽象类(根据定义)。

如果您想重新定义任何用作超类的类,那么您需要将文件放置在包含路径更上层的正确位置。在本例中,您需要在app/code/local/Mage/Core/Model/Abstract.php中创建一个文件

最新更新