2014-09-29 2 views
0

Мне нужно переопределить класс Mage_Paypal_Model_Ipn.класс переопределения в core magento

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, поэтому этот метод не был вызван.

+0

Вы можете разместить свой xml-конфигуратор? –

ответ

1

Если это действительно то, что ваш XML выглядит как то это:

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

Вы были </models> там дважды, и не ваш </global> тег закрыт.

+0

Теперь ваше переопределение выглядит корректно. Убедитесь, что вы очистили весь свой кеш. Вы должны увидеть свой модуль в System -> Configuration -> Advanced -> Advanced. Это может помочь, если вы публикуете весь файл config.xml на всякий случай. – seanbreeden

Смежные вопросы