【发布时间】:2011-07-28 14:45:41
【问题描述】:
我正在使用下面的代码在 magento 中创建订单:
$quote = Mage::getModel('sales/quote');
$quote->setCheckoutMethod('guest')->save();
$quote->setStore($store);
$quote->setForcedCurrency(Mage::getModel('directory/currency')->load($storeCurrency));
foreach ($productInCardList as $productItem) {
$product = Mage::getModel('catalog/product')->load($productItem['id']);
$product->setPrice($productItem['price']);
$request = new Varien_Object();
$request->setQty($productItem['qty']);
$quote->addProduct($product, $request);
}
$quote->collectTotals();
$quote->reserveOrderId();
$quote->save();
$service = Mage::getModel('sales/service_quote', $quote);
$service->submitAll();
$orderObj = $service->getOrder();
// ... code setting billing, shipping address, payment and shipping method.
订单已创建,但它显示在销售->订单网格中,G.T. 不正确。购买价格(美元和欧元的金额相同)
通过 magento 前端下达的订单具有正确的 GT。购买价格以美元(92 美元)为初始价格,以欧元(66 欧元)为商店的转换价格。但是使用代码创建的订单显示以欧元(66 欧元)和美元(66 美元)转换的相同金额。如果您能帮助我在订单中正确显示价格,我将不胜感激。
感谢您的帮助
【问题讨论】:
-
什么是 $orderObj->getStoreCurrencyCode()?