Magento导出订单同时导出产品信息,根据业务扩展,Magento自身的功能也越来越满足不了我们的需求了。今天Hicoogle根据需求改善批量导出订单的同时,也要带上该订单的产品信息。花了一点时间,在网上找一些资料,完成了这项功能。今天Hicoogle把它分享出来。以下是部分代码,由于代码较长,在代码尾部附上下载该代码文件。
该功能需要插件Webshopapps来支持,下载地址http://www.magentocommerce.com/magento-connect/webshopapps-orderexport.html
安装完后,找到app\code\community\Webshopapps\Ordermanager\Model\Export\Csv.php,正修改。
先贴一部分代码出来:
<?php class Webshopapps_Ordermanager_Model_Export_Csv extends Webshopapps_Ordermanager_Model_Export_Abstractcsv { const ENCLOSURE = '"'; const DELIMITER = ','; /** * Concrete implementation of abstract method to export given orders to csv file in var/export. * * @param $orders List of orders of type Mage_Sales_Model_Order or order ids to export. * @return String The name of the written csv file in var/export */ public function exportOrders($orders) { $fileName = 'magento_'.date("Ymd").'.csv'; $fp = fopen(Mage::getBaseDir('export').'/'.$fileName, 'w'); fwrite($fp,"\xEF\xBB\xBF"); $this->writeHeadRow($fp); $record = array(); foreach ($orders as $order) { $order = Mage::getModel('sales/order')->load($order); //$this->writeOrder($order, $fp); $common = $this->getCommonOrderValues($order); $orderItems = $order->getItemsCollection(); $common2 = $this->getCommonOrderValues2($order); $itemInc = 0; foreach ($orderItems as $item) { if (!$item->isDummy()) { $record[] = array_merge($common, $this->getOrderItemValues($item, $order, ++$itemInc),$common2); } } } $this->writeOrder($this->mergeSameKey($record), $fp); fclose($fp); return $fileName; }
由于代码较长,贴出来有可能不完整的情况,于是作为附件来下载该文件。
这个功能需要在后台选择要导出的订单才能正常导出。
点击下载:Csv.zip
转载请注明:嗨酷哥,有你更酷! » [原创]Magento导出订单同时导出产品信息