Magento – Fatal error: Call to a member function on non-object

magento-1magento-1.6magento-1.7

I am developing a custom module where an xml file will be created after order completion for each order.

I have called a function exportOrder on occuring of an event "sales_order_place_after". Following is the code of my function

public function exportOrder($observer) {
    $order = $observer->getEvent()->getOrder();
    Mage::getModel('meteorify_observerexample/export')->exportOrder($order);
    return true;
}

Now In Export.php file i have written the logic of creation of an xml file.Export.php file is placed in the folder Meteorify/Observerexample/Model/ folder.

Here i have called the function exportOrder from the file Export.php using Mage::getModel('meteorify_observerexample/export')->exportOrder($order); but i am getting the error

"Fatal error: Call to a member function exportOrder() on a non-object
in
/home/user_www/aliasgar/magentotesting/app/code/local/Meteorify/Observerexample/Model/Observer.php
on line 6"

Can anyone help me on this ?

Best Answer

The problem is in the config.xml file in the declaration of the model alias.
In your case is:

<models>
    <meteorify_observerexample>
        <class>Observerexample_Model</class>
    </meteorify_observerexample>
</models> 

But it should be

<models>
    <meteorify_observerexample>
        <class>Meteorify_Observerexample_Model</class>
    </meteorify_observerexample>
</models>
Related Topic