最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

[原创]Magento导出订单同时导出产品信息

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

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项

网友评论17条  本站回复14

  1. 怎么导出产品图片啊,要加什么字段?

    zgh94122013-06-06 10:52 回复
  2. 请问,这个插件怎么用,

    2013-03-06 10:23 回复
  3. 亲,这个附件代文件直接上传替换还是咋回事呀?导出来的order信息里面没有产品信息呀,痛苦。

    Jim2013-01-09 23:57 回复
    • 亲,你用的是哪个版本?这个插件还是1.5的版本上测试过的,不知道现在1.7的版本能否运行。

      hicoogle2013-01-10 09:25 回复
  4. 这个插件装好了,但是没有导出图片,应该如何修改下导出订单的图片呢。 🙁

    liu2012-04-06 15:04 回复
    • 在上面加一个字段,通过产品ID显示图片。

      hicoogle2012-04-06 20:54 回复
      • 加什么字段导出产品图片啊。。。

        zgh94122013-06-06 10:46 回复
  5. 这个好像只能导出搜索当前页的内容
    我想问下有没办法导出全部搜索结果呢,或者得到全部搜索的订单ID?

    jyg454502011-11-28 11:05 回复
    • 可以导出按你当前所选中的订单,不选时则导出当前整页订单。这个需要有插件支持,谢谢!

      hicoogle2011-11-28 11:08 回复
      • 嘿嘿,谢谢您的回答。

        在打扰你一下,你刚所说的插件有现成的吗?叫啥名呢,免费还是收费的?

        jyg454502011-11-28 11:14 回复
        • 是一个叫Webshopapps的插件,插件地址:http://www.magentocommerce.com/magento-connect/webshopapps-orderexport.html

          hicoogle2011-11-28 12:21 回复
          • 哈哈,在次感谢!
            刚安装了你说的插件,貌拟它的取值也是通过$orders = $this->getRequest()->getPost(‘order_ids’, array());来获取的(像这种好像只能获取到当前选择的订单)。
            我测试了Standard和Sage导出类型都要选择的,不选导出时会报错。
            Highrise导出类型不知道怎配置…-_-

            jyg454502011-11-28 15:17
          • 呵呵 ,具体怎么配置我也忘记了。

            hicoogle2011-11-29 09:00
  6. 你好,能否解释下,怎么使用这个文件

    jingjing2011-11-15 11:02 回复
    • 首先要安装这个EM插件。如果里面有EM_DeleteOrder_Adminhtml_Sales_OrderController 这个类的文件,就有替换这个文件就可以了。

      hicoogle2011-11-15 11:36 回复
  7. 怎么调用呢? 希望能详细的说明一下.谢谢了.

    Stravas2011-09-29 17:27 回复
    • 这个也没什么好详细说的,代码都在那里。

      hicoogle2011-09-29 19:08 回复
      • 放在哪个目录下面?
        EM_DeleteOrder 里面的文件直接覆盖?
        在sales–> order下面并没有看到导出 order_detail 的选项啊..应该还有其它的文件要更新或添加吧?

        stravas2011-09-30 13:37 回复
        • 不好意思,我也突然一下找不到了,早知道我应该把路径给贴出来。
          应该是EM_DeleteOrder下面的,不过你最好备份一下,然后替换。最好打开看看是不是以这个:EM_DeleteOrder_Adminhtml_Sales_OrderController做为类名的。

          hicoogle2011-09-30 14:37 回复
  8. 精神呀.好银
    知道我还用不上.zc还在折腾

    肖志兵2011-09-23 01:39 回复
    • 我为了整这个,头都大了。不过还是整出来了。

      hicoogle2011-09-23 10:29 回复
      • 这个怎么用啊,能把路径写下吗?? 😛

        liu2011-12-24 19:09 回复
        • 那上面的类名里不是路径吗,变换下就是了。

          hicoogle2011-12-24 21:05 回复
          • 批量导出订单是不行的~ 什么都没有。 能把原因回复到我的邮箱吗?

            liu2011-12-27 17:13
          • 这种批量导出,只能导出选中的订单。

            hicoogle2011-12-27 17:20
          • 我都试了好几次还是不行,没有这个路径啊。EM_DeleteOrder_Adminhtml_Sales_OrderController
            请问能详解下吗? 上面压缩包的文件应该放哪里。

            liu2012-02-23 12:35
          • 你没有安装这个插件吧?

            hicoogle2012-02-23 13:06
          • 安装了啊。~安装都说安装完毕了,这可怎么是好??

            liu2012-02-23 14:53
          • 你安装了之后,有什么错误提示吗?你加我Q帮你看看。

            hicoogle2012-02-23 15:18
          • 我没有看到你QQ, 我的QQ 是:398280946 谢谢你

            liu2012-02-23 16:04
          • 在联系里。

            hicoogle2012-02-23 16:19