Я хочу использовать наблюдателя, чтобы проверить, есть ли у клиента хотя бы один завершенный заказ, чтобы изменить статус заказа на обработку (поэтому, когда клиент нажимает на размещенный заказ, затем проверяет, завершен ли какой-либо заказ, затем изменяет статус с ожидающего на обработку), этомой код, но этот статус редактирования предыдущего заказа не существует
class ChangeOrder_Observerstatus_Model_Observer {
public function autoOrderevent(Varien_Event_Observer $observer)
{
$order = $observer->getEvent()->getOrder();
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$custAdmin = Mage::getSingleton('customer/session')->getCustomer();
$custAdminId = $custAdmin->getId();
$order_collection = Mage::getModel('sales/order')->getCollection()
->addFieldToSelect('*')
->addFieldToFilter('customer_id', $custAdminId)
;
foreach($order_collection as $order)
{
if ($order->getState() == "complete") {
$Is_Complet = true;
}
}
if($Is_Complet)
{
if(!Mage::registry('prevent_observer')):
Mage::register('prevent_observer',true);
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, 'Payment Complete.');
$order->save();
endif;
}
}
}