Magento 1.5.1 checkout Method “” is not defined in

2019-08-05 16:27发布

问题:

I'm running Magento 1.5.1 (which I am using because it is the latest version that works with Lightspeed POS) with a custom theme that I created. I am running the Lightspeed POS Connector and I have manually installed the Virtual Merchant add-on. My server is share hosted by hostmonster.

When I try to checkout I get an alert with the error Method "" is not defined in "".

Firebug gives me the following:

POST https://odd-style.com/magento/index.php/checkout/onepage/saveOrder/ 200 OK
{"success":false,"error":true,"error_messages":"Method \"\" is not defined in \"\""}

My magento exception log give me:

2012-06-06T01:20:46+00:00 ERR (3): 
exception 'Mage_Core_Exception' with message 'Method "" is not defined in ""' in /home4/oddnycco/public_html/magento/app/Mage.php:550
Stack trace:

#0 /home4/oddnycco/public_html/magento/app/code/core/Mage/Core/Model/App.php(1274): Mage::throwException('Method "" is no...')
#1 /home4/oddnycco/public_html/magento/app/code/core/Mage/Core/Model/App.php(1253): Mage_Core_Model_App->_callObserverMethod(false, '', Object(Varien_Event_Observer))
#2 /home4/oddnycco/public_html/magento/app/Mage.php(416): Mage_Core_Model_App->dispatchEvent('checkout_type_o...', Array)
#3 /home4/oddnycco/public_html/magento/app/code/core/Mage/Sales/Model/Service/Quote.php(180): Mage::dispatchEvent('checkout_type_o...', Array)
#4 /home4/oddnycco/public_html/magento/app/code/core/Mage/Sales/Model/Service/Quote.php(238): Mage_Sales_Model_Service_Quote->submitOrder()
#5 /home4/oddnycco/public_html/magento/app/code/core/Mage/Checkout/Model/Type/Onepage.php(742): Mage_Sales_Model_Service_Quote->submitAll()
#6 /home4/oddnycco/public_html/magento/app/code/core/Mage/Checkout/controllers/OnepageController.php(499): Mage_Checkout_Model_Type_Onepage->saveOrder()
#7 /home4/oddnycco/public_html/magento/app/code/core/Mage/Core/Controller/Varien/Action.php(420): Mage_Checkout_OnepageController->saveOrderAction()
#8 /home4/oddnycco/public_html/magento/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(253): Mage_Core_Controller_Varien_Action->dispatch('saveOrder')
#9 /home4/oddnycco/public_html/magento/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#10 /home4/oddnycco/public_html/magento/app/code/core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch()
#11 /home4/oddnycco/public_html/magento/app/Mage.php(627): Mage_Core_Model_App->run(Array)
#12 /home4/oddnycco/public_html/magento/index.php(80): Mage::run('', 'store')
#13 {main}

I have so far tried every type of cache clearing in the book. I've increased the size of my php memory limit to 256MB. I've looked at all the files referenced in the stack trace and all I can tell is that both $method and $object are because passed as "". I don't really understand why and I don't have any more ideas on how to fix it. :/

Thanks in advance for anyone's help!

回答1:

Seems as if you have an event observer defined somewhere in your Magento installation (I suppose in one of the 3rd-party-modules). From my point of view it looks like there is an empty method registered for the event.

Check the config.xml's of your modules for an observer that is listening on the event 'checkout_type_onepage_save_order' (you can easily grep your app/code/community and app/code/local folder for this string). Try disabling the module (via app/etc/modules/Module_Name.xml) and then try to checkout again.