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

posted on 2014-12-22 14:42  闪电王国  阅读(866)  评论(0编辑  收藏  举报