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

Magento导出订单同时导出产品信息的更多相关文章

  1. Magento后台订单显示产品图片的修改方法

    Magento后台订单原来是没有显示产品图片,客服业务还得到网站前台查找这个产品的图片提供给发货部,这样是很不方便的.为提高工作效率,应客服业务要求,现对Magento后台订单进行修改,使订单页面就显 ...

  2. Oracle备份提示,EXP-00091: 正在导出有问题的统计信息。

    EXP-00091: 正在导出有问题的统计信息 点我,点我~

  3. Ecshop 后台导出订单Excel时, 内存溢出的解决方法

    今天继续跟大家分享一下,在我配置Ecshop时的问题. 今天的问题是在后台想要导出订单列表Excel时出现的内存溢出.错误提示如下 问题:  Fatal error: Allowed memory s ...

  4. Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm

    Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本 ...

  5. safari 收藏导出 手机safari 导出

    safari 收藏导出 手机safari 导出 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.co ...

  6. 使用Apache POI导出Excel小结--导出XLS格式文档

    使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI ...

  7. 导出----用Excel导出数据库表

    根据条件导出表格: 前端 <el-form-item label=""> <el-button type="warning" icon=&qu ...

  8. Oracle11g在使用exp导出时不导出空表问题的解决办法

    11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segmen ...

  9. Lodop导出图片,导出单页内容的图片

    用如下语句设置图片的格式,设置导出的图片初识的默认名称,Lodop可以把打印内容导出成图片. LODOP.SET_SAVE_MODE("SAVEAS_IMGFILE_EXENAME" ...

随机推荐

  1. 探究linux文件

    一.Linux的文件: 文件名区分大小写:Linux没有文件拓展名:文件名支持长文件名,含空格,少部分标点符号. - _最好不要用空格 1 GUI图形用户界面:让简单的问题更加简单: CLI命令行界面 ...

  2. Java集合——List接口

    1.定义 List是Collection的子接口,元素有序并且可以重复,表示线性表. 2.方法 add(int index,Object e):在指定索引(和数组下标类似,为0,1,2....)放入元 ...

  3. 如何打开asp.net中的出错提示?在程序发布后

    答案:修改其中的一个配置节点,<customErrors mode="On"/>

  4. javascript密码强度验证!

    //CharMode函数 //测试某个字符是属于哪一类 function CharMode(iN) { if (iN>=48 && iN <=57) //数字 return ...

  5. S1 :数组迭代方法

    ECMAScript 5 还新增了两个归并数组的方法:reduce()和reduceRight().这两个方法都会迭代数组的所有项,然后构建一个最终返回的值.其中,reduce()方法从数组的第一项开 ...

  6. POJ 2253 Frogger 最短路 难度:0

    http://poj.org/problem?id=2253 #include <iostream> #include <queue> #include <cmath&g ...

  7. hdu 4611 Balls Rearrangement

    http://acm.hdu.edu.cn/showproblem.php?pid=4611 从A中向B中移动和从B中向A中移动的效果是一样的,我们假设从B中向A中移动 而且A>B 我们先求出所 ...

  8. 一模 (5) day2

    第一题: 题目大意:使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? n<=2*10^9 解题过程: 1.以前看到过这题了,一个数x的位数=(int)lg(x)+1  换一下底就是 ...

  9. VS2013的项目转到VS2010需要修改的

    Visual Studio2013: 用的是.net FrameWork 4.5版本,自带Nuget(在里面可以搜索到各种引用插件,不用再自己一个个百度,就像X60软件管家) Visual Studi ...

  10. 从协议VersionedProtocol开始1

    Phase 0: Make a plan You must first decide what steps you're going to have in your process. It sound ...