Получите подробную информацию о заказе после успешного выполнения заказа


Неустранимая ошибка: Вызов функции-члена getData() для не-объекта

Config.xml

    <events>
        <checkout_onepage_controller_success_action>
            <observers>
                <abandonedcart_observer>
                    <type>singleton</type>
                    <class>abandonedcart/observer</class>
                    <method>saveRedemptionInfo</method>
                </abandonedcart_observer>
            </observers>
        </checkout_onepage_controller_success_action>
    </events

Observer.php

public function saveRedemptionInfo(){

    $order_id = $observer->getData('order_ids');
    $order = Mage::getModel('sales/order')->load($order_id);

Та же проблема возникает, когда я использую sales_order_place_after и $order_id = $observer->getEvent()->getOrder()->getId();. Я получаю ошибку-

Вызов функции-члена getEvent() для не-объекта

Author: Manashvi Birla, 2016-09-20

1 answers

Вы допустили ошибку при определении функции в наблюдателе. Вы не передали $observer в качестве аргумента функции наблюдателя. Вы можете вызвать функцию для события sales_order_place_after, как показано ниже:

public function saveRedemptionInfo($observer){

    $order = $observer->getEvent()->getOrder();
    echo "<pre>"; print_r($order->getData()); 
}
 1
Author: Manashvi Birla, 2016-09-20 05:23:56