覆盖/扩展Magento抽象类?

Mic*_*ael 8 overriding zend-framework magento extend

我只需要在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>
Run Code Online (Sandbox Code Playgroud)

它真的不起作用..

我知道通过将包括类文件在内的所有文件夹结构复制到我的模块中,有一种"覆盖"的方法,但我想知道是否有办法让它在我的模块中更加花哨 - 类似于上面的内容..

Nic*_*ick 13

您只能重写直接实例化的类config.xml.

在各种值config.xml创建通过工厂的对象(例如,当使用Mage::getModel($class),Mage::getSingleton($class),Mage::helper($class),等等).$class参数的值用于转换catalog/productMage_Catalog_Model_Product.

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

如果要重新定义用作超类的任何类,则需要将文件放在包含路径的正确位置.在这种情况下,您需要创建一个文件app/code/local/Mage/Core/Model/Abstract.php.