Magento从Mage_Core覆盖模型
当我试图覆盖来自Mage_目录(例如Mage_目录\模型\产品\图像)的模型时,我没有问题,但当我尝试覆盖来自Mage_Core(Mage_Core \模型\文件\上传器)的模型时,它不起作用 法师的核心有什么保护吗? 我不能用观察员来代替,所以我真的必须让它工作 My config.xml:Magento从Mage_Core覆盖模型,magento,model,core,overwrite,Magento,Model,Core,Overwrite,当我试图覆盖来自Mage_目录(例如Mage_目录\模型\产品\图像)的模型时,我没有问题,但当我尝试覆盖来自Mage_Core(Mage_Core \模型\文件\上传器)的模型时,它不起作用 法师的核心有什么保护吗? 我不能用观察员来代替,所以我真的必须让它工作 My config.xml: <models> <myshop> <class>Adrien_Myshop_Model</class> </mysh
<models>
<myshop>
<class>Adrien_Myshop_Model</class>
</myshop>
<core>
<rewrite>
<file_uploader>Adrien_Myshop_Model_Core_File_Uploader</file_uploader>
</rewrite>
</core>
<catalog>
<rewrite>
<product_image>Adrien_Myshop_Model_Catalog_Product_Image</product_image>
</rewrite>
</catalog>
</models>
我将调试日志放入Mage_Core_Model_File_Uploader::_moveFile,当我运行脚本时,我只从Mage_Core_Model_File_Uploader获取日志
但是,当我使用Catalog_Product_映像测试它时,我正确地获得了两个调试日志
谢谢你的帮助 如果对该类名的源代码进行grep,您可以看到它是通过
new
在PHP中直接调用的,因此无法重写
如果必须重写此类,则需要将其复制到本地代码池并在其中进行更改,注意在升级应用程序时需要合并新的更改
class Adrien_Myshop_Model_Core_File_Uploader extends Mage_Core_Model_File_Uploader
{
protected function _moveFile($tmpPath, $destPath)
{
Mage::log("custom upload");
return parent::_moveFile($tmpPath, $destPath);
}
}