프로그래밍 방식으로 작성중인 주문시 청구 및 배송 주소를 어떻게 설정할 수 있습니까?

magento.stackexchange https://magento.stackexchange.com//questions/88738

문제

이전에 특정 고객이 배치 한 중복 된 순서를 만드는 중입니다.프로그래밍 방식으로 작성중인 새 주문에 동일한 청구 및 배송 주소를 어떻게 설정할 수 있습니까?

도움이 되었습니까?

해결책

기존 주문 객체의 데이터를로드 할 수 있습니다.

$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 일 후에 버려지므로

로드 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top