【发布时间】:2018-06-20 14:54:08
【问题描述】:
我尝试使用以下命令从报价创建订单:
$service = Mage::getModel('sales/service_quote', $quote);
但订单不在数据库中创建(报价创建成功)。
$service->getOrder();
返回null、exception.log和system.log为空,
我的代码:
$quote = Mage::getModel('sales/quote')->setStoteId($store->getId());
$quote->setCustomerEmail($customer->getEmail());
$quote->setSendConfirmation(0);
$quote->addProduct($product, new Varien_Object(['qty' => 1]));
$addressData = array(
'firstname' => $customer->getFirstname(),
'lastname' => 'Not set',
'street' => 'Not set',
'city' => 'Not set',
'postcode' => 'Not set',
'telephone' => '-',
'country_id' => 'IN',
'region' => 'Not set',
);
$billingAddress = $quote->getBillingAddress()->addData($addressData);
$shippingAddress = $quote->getShippingAddress()->addData($addressData);
$shippingAddress->setCollectShippingRates(true)->collectShippingRates()
->setShippingMethod('flatrate_flatrate')
->setPaymentMethod('checkmo');
$quote->getPayment()->importData(['method' => 'checkmo']);
$quote->collectTotals()->save();
try {
$service = Mage::getModel('sales/service_quote', $quote);
$service->submitAll();
$order = $service->getOrder();
} catch (Exception $ex) {
echo $ex->getMessage();
} catch (Mage_Core_Exception $e) {
echo $e->getMessage();
}
$order->setStatus('complete');
$order->save();
【问题讨论】:
标签: php magento magento-1.9