프로그래밍 방식으로 송장을 만들 때 고객에게 전자 메일 보내기


14

프로그래밍 방식으로 송장을 만드는 동안 시스템에서 고객에게 송장을 전자 메일로 보내려면 어떻게해야합니까?

$order=Mage::getModel('sales/order')->load($orderid); 
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
if (!$invoice->getTotalQty()) {
    Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
                   ->addObject($invoice)
                   ->addObject($invoice->getOrder());
$transactionSave->save();

답변:


12

$transactionSave->save();:

$invoice->getOrder()->setIsInProcess(true);
$history = $invoice->getOrder()->addStatusHistoryComment(
    'Programmatically created invoice', true
);
$invoice->sendEmail(true, '');
$order->save();

그러면 Magento가 고객에게 송장을 이메일로 보내도록 지시합니다.


이메일 전송에 설정된 상태가 필요합니까?
Qaisar Satti

예, 이것은 마 젠토 표준입니다. 포함되지 않은 경우 주문은 처리 중으로 설정되지 않습니다 (한 번 인보이스 발행되어야 함).
Moose
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.