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导出订单同时导出产品信息