Class 使用自定义模块覆盖Magento核心类
我第一次被鼓励在这里发布一个问题,就这样吧 我第一次尝试覆盖Magento核心类;Mage_CatalogInventory_Model_Stock_Item位于@/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php,但由于某些原因,我在执行时没有任何成功Class 使用自定义模块覆盖Magento核心类,class,magento,mod-rewrite,Class,Magento,Mod Rewrite,我第一次被鼓励在这里发布一个问题,就这样吧 我第一次尝试覆盖Magento核心类;Mage_CatalogInventory_Model_Stock_Item位于@/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php,但由于某些原因,我在执行时没有任何成功 $object = Mage::getModel('cataloginventory/stock_item'); var_dump(get_class($object)); 输出
$object = Mage::getModel('cataloginventory/stock_item');
var_dump(get_class($object));
输出
string 'Mage_CatalogInventory_Model_Stock_Item' (length=38)
我在/app/code/local/Rage下创建了一个新目录,并将Item.php复制到/app/code/local/Rage/CatalogInventory/Model/Stock/Item.php,将其重命名为
class Rage_CatalogInventory_Model_Stock_Item extends Mage_CatalogInventory_Model_Stock_Item { ... }
我还制作了几个xml文件。一个到app/etc/modules/Rage_CatalogInventory.xml,其中包含以下内容:
<?xml version="1.0"?>
<config>
<modules>
<Rage_CatalogInventory>
<active>true</active>
<codepool>local</codepool>
</Rage_CatalogInventory>
</modules>
</config>
真的
地方的
另一个指向app/code/local/Rage/CatalogInventory/etc/config.xml
<?xml version="1.0" ?>
<config>
<modules>
<rage_cataloginventory>
<version>0.0.1</version>
</rage_cataloginventory>
</modules>
<global>
<models>
<cataloginventory>
<rewrite>
<stock_item>Rage_CatalogInventory_Model_Stock_Item</stock_item>
</rewrite>
</cataloginventory>
</models>
</global>
</config>
0.0.1
库存商品目录库存商品型号库存商品
我就是不能让它工作,即使经过几个小时的尝试。。。这让我快发疯了。希望你能帮助我
非常感谢
编辑:修正了Amit指出的config.xml。事实证明,Magento正在使用编译器。我想这可能有点关系。禁用并清除了includes/src-文件夹内容,但仍然没有发生任何事情…config.xml中的问题,此处的
rage\u cataloginventory
应为rage\u cataloginventory
,此处为total config.xml
<?xml version="1.0" ?>
<config>
<modules>
<Rage_CatalogInventory>
<version>0.0.1</version>
</Rage_CatalogInventory>
</modules>
<global>
<models>
<cataloginventory>
<rewrite>
<stock_item>Rage_CatalogInventory_Model_Stock_Item</stock_item>
</rewrite>
</cataloginventory>
</models>
</global>
</config>
0.0.1
库存商品目录库存商品型号库存商品
好吧,这只是一个猜测,如果我指出了你很清楚的事情,请不要生气;)
但是:您确实清除了配置缓存,对吗?
(并保持编译器在开发环境中处于禁用状态,如果您忘记了它处于活动状态,则可以避免一些麻烦。)
到目前为止,xml在我看来非常正确,所以这不应该是问题所在
检查内容:
- 模块是否已加载?(请参见“系统->配置->高级”下的内容)
- 它是与其他型号一起使用还是仅此一款
- 任何提示config.xml可能有错误(隐藏字符等)的日志输出