Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class 使用自定义模块覆盖Magento核心类_Class_Magento_Mod Rewrite - Fatal编程技术网

Class 使用自定义模块覆盖Magento核心类

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)); 输出

我第一次被鼓励在这里发布一个问题,就这样吧

我第一次尝试覆盖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));
输出

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可能有错误(隐藏字符等)的日志输出

谢谢你的建议,阿米特!这是一个很好的更正,但它本身并没有解决问题(谢谢你的建议。我在每次微小的修改后都会清除缓存几次,模块会出现在管理员侧列表中。不过没有检查日志。也许有什么,如果我能找到的话…我必须继续,所以我去戳核心…幸运的是,在这种情况下,这不重要。