核心magento中的覆盖类

时间:2014-09-29 13:47:46

标签: magento

我需要覆盖类Mage_Paypal_Model_Ipn。

class Budsies_Budsie_Paypal_Model_Ipn extends  Mage_Paypal_Model_Ipn
{
    protected function _processOrder()
    {
        Mage::log('Budsies_Budsie_Paypal_Model_Ipn', null, 'processOrder.log');
        $orderState = $this->_order->getState();
        if ($orderState != Mage_Sales_Model_Order::STATE_COMPLETE &&
                   $orderState != Mage_Sales_Model_Order::STATE_HOLDED) {
            parent::_processOrder();
        }
    }
}

我将config.xml添加到我的模块全局部分:

  <global>
    <models>
        <paypal>
            <rewrite>
                <ipn>Budsies_Budsie_Paypal_Model_Ipn</ipn>
            </rewrite>
        </paypal>
    </models>
  </global>

但它不起作用。什么应该是配置文件,使我的类重写核心类。你能告诉我这是什么问题吗?

我更正了它,只是它的这一部分更大,我制作了复制粘贴。但它不起作用。

感谢您的帮助。我的改写有效。问题是该帐户的ipn没有配置,没有ipn,所以没有调用此方法。

1 个答案:

答案 0 :(得分:1)

如果这确实是您的XML的样子,那就是:

<global>
  <models>
      <paypal>
          <rewrite>
              <ipn>Budsies_Budsie_Paypal_Model_Ipn</ipn>
          </rewrite>
      </paypal>
  </models>
</global>

您有</models>两次,并且没有关闭</global>标记。