首页 > 解决方案 > magento 重写模型混淆

问题描述

Mage_Sales_Model_Order_Item我用这些代码重写了这个config.xmlshopby module

<sales>
    <rewrite>
        <order_item>Amasty_Shopby_Model_Mostordered</order_item>
    </rewrite>
</sales>

这些代码在我mostordered.php的shopby模型文件夹中

class Amasty_Shopby_Model_Mostordered extends Mage_Sales_Model_Order_Item{
    protected  function _beforeSave()
    {
        die(var_dump($this->getData('order_id')));
        return parent::_beforeSave();
    }
}

上面显示的代码不起作用但是当我_beforeSave在 item.php 中 写入 die 时sales/model/order/item.php它起作用了,这意味着我的重写方式在某个地方是错误的

protected function _beforeSave()
    {
        die('something');
        parent::_beforeSave();
        if (!$this->getOrderId() && $this->getOrder()) {
            $this->setOrderId($this->getOrder()->getId());
        }
        if ($this->getParentItem()) {
            $this->setParentItemId($this->getParentItem()->getId());
        }
        return $this;
    } 

我唯一的目标是更改此 php 文件夹的 _beforesave 方法,我在哪里弄错了?

更新: 我发现另一个模块重写了我想要的相同的类。所以我认为因此我的代码不起作用。复制重写的方法是什么?

标签: phpmagentomodelurl-rewritingbefore-save

解决方案


推荐阅读