पर बदलें, मैं अपने कोड में किसी निश्चित बिंदु पर मैन्युअल रूप से ऑर्डर स्थिति बदलने की कोशिश कर रहा हूं। यह वही है मैं अब तक है:Magento मैन्युअल रूप से ऑर्डर स्थिति को 'पूर्ण'
$order = Mage::getModel('sales/order')->load($_GET['orderid']);
$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true, 'Pedido completado exitosamente.', true, false)->save();
जब मैं यह है कि मैं त्रुटि मिलती है:
The Order state 'complete' must not be set manually.
ठीक है तो मैं इस कोशिश की:
$order = Mage::getModel('sales/order')->load($_GET['orderid']);
$order->setStatus("complete");
$order->save();
जब मैं यह है कि मैं मिलता है त्रुटि:
Call to a member function getMethodInstance() on a non-object
तो मैं कैसे कर सकता हूं मैन्युअल रूप से पूरा करने के लिए ऑर्डर स्थिति सेट करें।
मैं पहली बार एक Sales/Order.php
में निम्नलिखित लाइनों बाहर टिप्पणी के साथ करने की कोशिश की:
if ($shouldProtectState) {
if ($this->isStateProtected($state)) {
Mage::throwException(
Mage::helper('sales')->__('The Order State "%s" must not be set manually.', $state)
);
}
}
लेकिन कोई जाने, मैं अभी भी उपरोक्त त्रुटि पूरा करने के लिए स्थापित करने के लिए नहीं मिल।
मैं Magento 1.7.0.2 का उपयोग कर रहा हूं।
क्षमा करें, यह निम्न त्रुटि को फेंकता है 'एक गैर-ऑब्जेक्ट' – jfreak53
पर किसी सदस्य फ़ंक्शन getMethodInstance() पर कॉल करें जो किसी अन्य त्रुटि के कारण हो सकता है .. 'getMethodInstance()' आमतौर पर भुगतान विधि के लिए होता है। आपकी त्रुटि कहती है कि आप गैर-ऑब्जेक्ट – Kalpesh
पर भुगतान विधि प्राप्त करने का प्रयास कर रहे हैं, मैं पूर्ण भुगतान के बाद सफलता पृष्ठ पर ऑर्डर की स्थिति सेट करने का प्रयास कर रहा हूं। कुछ कारणों से Magento वापस आने पर भुगतान स्थिति सेट नहीं कर रहा है। तो मेरे भुगतान मॉड्यूल में मैं अंतिम सफलता पृष्ठ पर भुगतान सेट करने की कोशिश कर रहा हूं। यह 'onestepcheckout' सफलता पृष्ठ पर है जिसे मैं इसे सेट करने का प्रयास कर रहा हूं। त्रुटि तब होती है जब मैं उस सामग्री को पृष्ठ पर जोड़ता हूं, अगर मैं उस सामान को कोई त्रुटि नहीं जोड़ता। – jfreak53