Como quiera que esto sea para el envío, puede preguntarle a quien maneja su envío si tienen algún tipo de API para que pueda construir/comprar/descargar un módulo de envío adecuado y ahorrarse la molestia de perder con archivos CSV .
Si realmente quieres un archivo CSV, sin embargo, puedo mostrarte cómo crearlo. No mencionó dónde se ejecutará este script, así que supongo que es un script externo (que lo hará más fácil de usar con un trabajo cron). Usted quiere hacer lo siguiente:
//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";
}
En aras de la brevedad (y la cordura) No he enumerado todos los datos de pedidos. Puede averiguar qué campos están disponibles al descargar los objetos relevantes y echar un vistazo a sus campos.
Por ejemplo, si tuviera que imprimir_r ($ myOrder-> getBillingAddress()); Vería campos como "tipo de dirección" y "apellido". Puede usarlos con $ myOrder-> getBillingAddress() -> getAddress_type() y $ myOrder-> getBillingAddress() -> getLastname() respectivamente.
Editar: código modificado de acuerdo a la respuesta del craig.michael.morris
No estoy seguro de lo que está tratando de hacer exactamente ... exportar el pedido actual o todas las órdenes pendientes? ¿Exportarlos a dónde y con qué propósito? ¿Esto tiene lugar en alguna página en particular o cuando sucede algo (como cuando se crea la orden)? –
Necesito obtener una hoja de cálculo (es decir, CSV) de pedidos completados de Magento para que pueda usarla con un programa UPS/USPS dedicado o enviarla a nuestro proveedor de cumplimiento para que puedan enviar los artículos por nosotros. – theandym