管理面板(或其他地方)中的某些配置是否可以阻止模型重写运行?
这是模块config.xml中的重写声明:
<global>
<models>
<cataloginventory>
<rewrite>
<stock_item>My_Mod_CatalogInventory_Model_Stock_Item</stock_item>
</rewrite>
</cataloginventory>
</models>
</global>
模块 处于活动状态 - 这是肯定的,因为其他模块代码正在运行。
我从Mage_CatalogInventory_Model_Stock_Item覆盖了checkQuoteItemQty方法,但它是来自正在运行的父类的checkQuoteItemQty,不明白为什么......
class My_Mod_CatalogInventory_Model_Stock_Item extends Mage_CatalogInventory_Model_Stock_Item
{
public function checkQuoteItemQty($qty, $summaryQty, $origQty = 0)
{
// this code is not running...
exit('hello there');
答案 0 :(得分:5)
第1步调试任何重写 - 尝试自己手动实例化类中的对象,并确保你的类是使用的类。
$object = Mage::getModel('cataloginventory/stock_item');
var_dump(get_class($object));
如果上述内容未输出My_Mod_CatalogInventory_Model_Stock_Item
,请检查您的config.xml
是否正确,Item.php
文件是否在正确的文件夹中,最后跳转到{{3}并添加足够的调试代码以确定为什么 Magento没有看到你的重写。