2010-08-18 4 views
7

Programlı yeniden düzenlemek. Magento - Şu anda tam aynı öğeleri ve kimlik bilgileriyle arka uç yeni bir düzen yaratarak, böylece .. sipariş nesne alıp kendini yeniden düzenlemek yapmamı gerektiren bir modül yapıyorum

Bu

i şimdiye kadar ... o öğenin sırasını düzenlemek veya oluşturmak ve başka arka uç siparişi eklemek görünmüyor gelmiş koddur.

$personsOrder = Mage::getModel(’sales/order’); 
$personsOrder->loadByIncrementId($order[’model_order_id’]); 

$order_model = Mage::getSingleton(’adminhtml/sales_order_create’); 
$personsOrder->setReordered(true); 

$order_model->initFromOrder($personsOrder); 

/* 
$order_model->save(); 

$order_model->place(); 
$order_model->sendNewOrderEmail(); 
*/ 

Herhangi bir yardım büyük beğeni topladı!

cevap

3

İlk düşüncem, $order['model_order_id'] yerine hat 2 üzerinde $order->getIncrementId() kullanıyor olmanızdır, ancak ilk etapta $order nereden aldığınızdan emin değilim. Eğer $order['model_order_id'] aslında geçerli bir artış kimliği dönen olduğunu kontrol ettiniz? Veritabanındaki herhangi bir yerde model_order_id alanını göremiyorum ...

IDE ve XDebug'unuzu çalıştırmanızı öneririm, böylece nesneler üzerinde çalıştığınız gibi bunları denetleyebilir ve neler olup bittiğini anlayabilirsiniz. . Eğer ilk kez etrafında yerleştirilmiş olması sırası da kodlama yoluyla oluşturulan ve varsa

Alkış, JD

7
$orderId= $YOUR_ORDER_NUMBER; 
$personsOrder = Mage::getModel('sales/order')->load($orderId); 
$order_model = Mage::getSingleton('adminhtml/sales_order_create'); 
$personsOrder->setReordered(true); 
$order_model->initFromOrder($personsOrder); 
$order_model->createOrder(); 
1

değil size bir girdi eklemiş emin olmak gerekir sonra dükkan önünden sales_flat_quote_item tablo. Aksi takdirde bu sipariş yeniden düzenlenemez. Bu nedenle siparişinizin oluşturulmadığından emin olun.