一些修修补补左右后,我相信,我发现那里的数据是,相应的模型实体名称等等放在一起如下:
// Load mage
require 'app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
// Load order
$order = Mage::getModel('sales/order')->loadByIncrementId('200000025');
// Init gift wrap list
$gift_wrapped = array();
foreach ($order->getAllItems() as $order_item)
{
// Unserialize additional data
$additional_data = isset($order_item['additional_data'])
? unserialize($order_item['additional_data'])
: null;
// Proceed if M2EPro extension is detected
if ($additional_data &&
isset($additional_data['m2epro_extension']['items']) &&
sizeof($additional_data['m2epro_extension']['items']))
{
// Iterate through each order item id
foreach ($additional_data['m2epro_extension']['items'] as $data)
{
// Anticipate errors
try
{
// Load amazon order item row
$amazon_order_item = Mage::getModel('M2ePro/Amazon_Order_Item')
->load($data['order_item_id'], 'amazon_order_item_id');
// Proceed if there is data
if ($amazon_order_item->getId() &&
(float)$amazon_order_item->getGiftPrice() > 0)
{
// Append to list
$gift_wrapped[] = array
(
'Sku' => $order_item->getSku(),
'Price' => (float)$amazon_order_item->getGiftPrice(),
'Message' => $amazon_order_item->getGiftMessage()
);
}
}
catch (Exception $ex) { }
}
}
}
这似乎是工作,但我不确定是否有比我上面发布的方法“更好/适当”的方法。
此模块是否覆盖sales_order对象中的项目?这是真的,你尝试$ order-> getItemsCollection()? – miwata
@miwata是的,我已经试过了,它不起作用。我不认为模块覆盖了sales_order对象。 – Latheesan