Man*_*kis 24
看到你想要这个用于发货,你可能想问问谁处理你的运输是否有某种API,这样你就可以建立/购买/下载一个合适的运输模块,并省去了与CSV文件混淆的麻烦.
如果你真的想要一个CSV文件,我可以告诉你如何创建它.你没有提到这个脚本将在哪里运行,所以我假设它是一个外部脚本(这将使它更容易与cron作业一起使用).您想要执行以下操作:
//External script - Load magento framework
require_once("C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\magento\app\Mage.php");
Mage::app('default');
$myOrder=Mage::getModel('sales/order');
$orders=Mage::getModel('sales/mysql4_order_collection');
//Optional filters you might want to use - more available operations in method _getConditionSql in Varien_Data_Collection_Db.
$orders->addFieldToFilter('total_paid',Array('gt'=>0)); //Amount paid larger than 0
$orders->addFieldToFilter('status',Array('eq'=>"processing")); //Status is "processing"
$allIds=$orders->getAllIds();
foreach($allIds as $thisId) {
$myOrder->reset()->load($thisId);
//echo "<pre>";
//print_r($myOrder);
//echo "</pre>";
//Some random fields
echo "'" . $myOrder->getBillingAddress()->getLastname() . "',";
echo "'" . $myOrder->getTotal_paid() . "',";
echo "'" . $myOrder->getShippingAddress()->getTelephone() . "',";
echo "'" . $myOrder->getPayment()->getCc_type() . "',";
echo "'" . $myOrder->getStatus() . "',";
echo "\r\n";
}
Run Code Online (Sandbox Code Playgroud)
为了简洁(和理智),我没有列出所有可用的订单信息.您可以通过转储相关对象并查看其字段来查找可用的字段.
例如,如果你要做print_r($ myOrder-> getBillingAddress()); 你会看到像"address_type"和"lastname"这样的字段.您可以分别使用$ myOrder-> getBillingAddress() - > getAddress_type()和$ myOrder-> getBillingAddress() - > getLastname().
编辑:根据craig.michael.morris的回答更改了代码
| 归档时间: |
|
| 查看次数: |
22763 次 |
| 最近记录: |