프로그래밍 방식으로 작성중인 주문시 청구 및 배송 주소를 어떻게 설정할 수 있습니까?
-
13-12-2019 - |
문제
이전에 특정 고객이 배치 한 중복 된 순서를 만드는 중입니다.프로그래밍 방식으로 작성중인 새 주문에 동일한 청구 및 배송 주소를 어떻게 설정할 수 있습니까?
해결책
기존 주문 객체의 데이터를로드 할 수 있습니다.
$order = Mage::getModel('sales/order')->load($oldOrderId);
$order->getBillingAddress()->getFirstname();
.
다른 방법은 이전 주문 인용문을 사용하는 것입니다
$order = Mage::getModel('sales/order')->load($oldOrderId);
$quote = Mage::getModel('sales/quote')->load($order->getQuoteId();
$quote->collectTotals();
$converter = Mage::getModel('sales/convert_quote');
$order = $convert->toOrder($quote)
->setPayment($converter->paymentToOrderPayment($quote->getPayment()))
->setShippingAddress($converter->addressToOrderAddress($quote->getShippingAddress()))
->setBillingAddress($converter->addressToOrderAddress($quote->getBillingAddress()));
foreach ($quote->getAllItems() as $quoteItem) {
$orderItem = $convert->itemToOrderItem($quoteItem);
if ($quoteItem->getParentItem()) {
$orderItem->setParentItem($order->getItemByQuoteItemId($quoteItem->getParentItem()->getId()));
}
$order->addItem($orderItem);
}
$order->save();
.
면책 조항 :
1.오래된 스크립트에서 코드를 가지고 테스트하지 않았으므로 여기에 디버그가 필요할 수 있습니다
2.견적이있는 경우 Cron Limument Quyment는 30 일 후에 버려지므로
로드 할 수 없습니다.제휴하지 않습니다 magento.stackexchange