【发布时间】:2014-01-13 10:28:16
【问题描述】:
我一直在尝试在 Magento 中重写一个类,并且我正在执行所有正确的程序,但是我没有得到。
我正在尝试重写 app\code\core\Mage\Catalog\Model\Product\Attribute\Media\Api.php
提前感谢任何可以帮助我的人。
<config>
<modules>
<Namespace_Catalog>
<version>1.6.0.0.14</version>
</Namespace_Catalog>
</modules>
<global>
<models>
<catalog>
<rewrite>
<product_attribute_media_api>Namespace_Catalog_Model_Product_Attribute_Media_Api</product_attribute_media_api>
</rewrite>
</catalog>
</models>
</global>
</config>
是的,我忘了说那部分 在 app/etc/modules/ 我有依赖标签。我已经尝试过使用和不使用标签依赖,但它从未奏效。我认为我真的做对了所有事情。
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Catalog>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Catalog />
</depends>
</Namespace_Catalog>
</modules>
</config>
在 app\code\local\Namespace\Catalog\Model\Product\Attribute\Media\Api.php 我有 类 Namespace_Catalog_Model_Product_Attribute_Media_Api 扩展了 Mage_Catalog_Model_Product_Attribute_Media_Api
我重写了函数remove,让它等于原来的,但是用Mage::log('rewrote', null, 'rewrote.log'),要知道他已经重写成功了。
我清除了缓存。
我更正了 codePool 标记以区分大小写。 我检查了 /var/log/ 并没有在 exception.log 和 system.log 中发现任何错误。 我的 Index.php 设置为开发人员模式和 ini_set('display_errors', 1);未注释。
我按照 Magento 的教程 here
这描述了您的 Magento 系统的状态。它列出了所有模块、模型、类、事件监听器或几乎任何你能想到的东西。例如,考虑您在上面创建的 config.xml 文件。如果您在浏览器中的 XML 文件中搜索文本 Namespace_Catalog_Model_Product_Attribute_Media_Api,您会发现您的类已列出。每个模块的 config.xml 文件都被 Magento 解析并包含在全局配置中。
这是我要写的课。好像没问题。我会错过什么?
<catalog>
<class>Mage_Catalog_Model</class>
<resourceModel>catalog_resource</resourceModel>
<rewrite>
<product_attribute_media_api>Namespace_Catalog_Model_Product_Attribute_Media_Api</product_attribute_media_api>
</rewrite>
</catalog>
【问题讨论】:
-
您的代码看起来不错。确保您清除了缓存。还要检查您的配置文件是否有效。有关错误,请参见 var/log。打开开发者模式以查看可能出现的任何错误。
标签: api class magento rewrite config