Wenn Sie dies für den Versand wünschen, können Sie fragen, wer mit Ihrem Versand handelt, ob sie eine API haben, so dass Sie ein entsprechendes Versandmodul erstellen/kaufen/herunterladen können und sich den Ärger mit CSV-Dateien ersparen .
Wenn Sie wirklich eine CSV-Datei möchten, kann ich Ihnen jedoch zeigen, wie Sie sie erstellen können. Sie haben nicht erwähnt, wo dieses Skript läuft, also nehme ich an, dass es ein externes Skript ist (was die Verwendung mit einem Cron-Job erleichtert). Sie möchten folgendes tun:
//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";
}
Aus Gründen der Kürze (und geistige Gesundheit) ich alle nicht zur Verfügung, um Informationen aufgelistet haben. Sie können herausfinden, welche Felder verfügbar sind, indem Sie die relevanten Objekte löschen und deren Felder betrachten.
Zum Beispiel, wenn Sie print_r ($ myOrder-> getBillingAddress()); Sie sehen Felder wie "Adressart" und "Nachname". Sie können diese mit $ myOrder-> getBillingAddress() -> getAddress_type() und $ myOrder-> getBillingAddress() -> getLastname() verwenden.
bearbeiten: Geänderte Code nach craig.michael.morris Antwort
Ich bin mir nicht sicher, was Sie gerade tun möchten ... den aktuellen Auftrag oder alle ausstehenden Aufträge exportieren? Exportieren sie wo und zu welchem Zweck? Soll dies auf einer bestimmten Seite geschehen oder wenn etwas passiert (wie wenn die Bestellung erstellt wird)? –
Ich muss eine Tabelle (d. H. CSV) abgeschlossener Aufträge aus Magento herausholen, damit ich sie entweder mit einem dedizierten UPS/USPS-Programm verwenden oder sie an unseren Fulfillment-Anbieter senden kann, damit sie die Artikel für uns versenden können. – theandym