Учитывая, что вы хотите это для доставки, вы можете спросить любого, кто занимается вашей доставкой, есть ли у них какой-то API, чтобы вы могли создать / купить / скачать соответствующий модуль доставки и избавить себя от хлопот с CSV-файлами.
Если вы действительно хотите файл CSV, я могу показать вам, как его создать. Вы не упомянули, где будет запускаться этот скрипт, поэтому я предполагаю, что это внешний скрипт (который облегчит использование с заданием cron).
Вы хотите сделать следующее:
<code>//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 "
";
// Некоторые случайные поля
эхо "'". $ myOrder-> getBillingAddress () -> getLastname (). «»»;
эхо "'". $ myOrder-> getTotal_paid (). «»»;
эхо "'". $ myOrder-> getShippingAddress () -> getTelephone (). «»»;
эхо "'". $ myOrder-> getPayment () -> getCc_type (). «»»;
эхо "'". $ myOrder-> getStatus (). «»»;
эхо "\ r \ n";
}
Ради краткости (и здравомыслия) я не перечислил всю доступную информацию о заказе. Вы можете узнать, какие поля доступны, выгрузив соответствующие объекты и посмотрев их поля.
Например, если вы должны были сделать print_r ($ myOrder-> getBillingAddress ()); вы бы увидели такие поля, как "address_type" и "lastname". Вы можете использовать их с
$ myOrder-> getBillingAddress () -> getAddress_type () и
$ myOrder-> getBillingAddress () -> getLastname () соответственно.
Редактировать :
Изменен код в соответствии с ответом craig.michael.morris