`
kirenenko04
  • 浏览: 150973 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

Magento export order item data

 
阅读更多
<?php

class Bysoft_Export_Model_Order extends Mage_Core_Model_Abstract
{
    protected function _construct(){

       $this->_init("export/order");
       $this->_write = Mage::getSingleton('core/resource')->getConnection('core_write');
       

    }
    public function truncate_table() {
    	$sql = 'truncate table bysoft_exportorder';
    	$this->_write->query($sql);
    	
    }
    public function run($start = '', $end = '') {
   
    	$this->truncate_table();
    	
    	//get all complete or  processing or shipped order
    	$order_collection = Mage::getModel('sales/order')->getCollection()
    		->addFieldToFilter('status', array('in'=>array('complete','processing','shipped')));
    	
    	if ($start) {
    		$start_year = substr($start, 0, 4);
    		$start_month = substr($start, 4, 2);
    		$start_date = substr($start, 6, 2);
    		$start_datetime = $start_year . '-' . $start_month . '-' .$start_date . ' 0:0:0';
    		$order_collection->addFieldToFilter('created_at', array('gt'=>$start_datetime));
    	}
    	

    	
    	if ($end) {
    		$end_year = substr($end, 0, 4);
    		$end_month = substr($end, 4, 2);
    		$end_date = substr($start, 6, 2);
    		$end_datetime = $end_year . '-' . $end_month . '-' .$end_date . ' 23:59:59';
    		$order_collection->addFieldToFilter('created_at', array('lt'=>$end_datetime));
    		
    	}
    	
    	$order_collection->setOrder('created_at', 'ASC');
    	
         foreach ($order_collection as $_order) {
         	//get all order itemes
         	$order_increment_id = $_order->getData('increment_id');
         	$purchased_on = $_order->getData('created_at');
         	$ordered_items = $_order->getAllVisibleItems();
         	$shippingId = $_order->getShippingAddress()->getId();
         	$shippingAddress = Mage::getModel('sales/order_address')->load($shippingId);
         	$shipping_to_name = $shippingAddress->getData('firstname') . ' ' . $shippingAddress->getData('lastname');
         	$status = $_order->getData('status');
         	
         	foreach ($ordered_items as $item) {
         		$sku = $item->getSku();
         		$_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
         		if ($_product) {
         			$_product = Mage::getModel('catalog/product')->load($_product->getId());
         			
         			//get config sku
         			if ($_product->getTypeId() == 'simple') {
         				$parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')
                  ->getParentIdsByChild($_product->getId());
         				$conifg_product =  Mage::getModel('catalog/product')->load($parentIds[0]);			
         			} else {
         				$conifg_product = $_product;
         			}         
         			$config_sku = $conifg_product->getSku();
         			
         			//get third category name 
         			$categoryIds = $conifg_product->getCategoryIds();
         			foreach ($categoryIds as $cid) {
         				$cate = Mage::getModel('catalog/category')->load($cid);
         				
         				 if ($cate->getLevel() == 4) {
         				 	//get category name
         				 	$cate_name = $cate->getName();         	
         				 	$cate_name_parent =  Mage::getModel('catalog/category')->load($cate->getParentId());
         				 	
         				 
         				 	if ($cate_name_parent) {
         				 		//get gender
         				 		$gender_cate = Mage::getModel('catalog/category')->load($cate_name_parent->getParentId());	 
         				 		$gender = $gender_cate->getName();
         				 	}
         				 }         				
         			}
         			
         			//get en name
         			$en_name = $_product->getData('en_name');
         			//get size
         			$size = $_product->getAttributeText('size');
         			
         			//get qty
         			$qty = $item->getData('qty_ordered');
         			
         			//get original_price
         			$org_price = $_product->getData('price');
         			
         			//get sp price
         			$special_price = $_product->getSpecialPrice();
         			
         			//get row_total
         			$paid_amount =$item->getPrice() - $item->getDiscountAmount();
         			
         			//save into order object
         			$export_oder = Mage::getModel('export/order');
         			$export_oder->setData('order_increment_id', $order_increment_id);
         			$export_oder->setData('purchased_on',$purchased_on);
         			$export_oder->setData('ship_to_name', $shipping_to_name);
         			$export_oder->setData('status', $status);
         			$export_oder->setData('cate_name', $cate_name);
         			$export_oder->setData('gender', $gender);
         			$export_oder->setData('en_name', $en_name);
         			$export_oder->setData('config_sku', $config_sku);
         			$export_oder->setData('size', $size);
         			$export_oder->setData('qty', $qty);
         			$export_oder->setData('org_price',$org_price);
         			$export_oder->setData('special_price', $special_price);
         			$export_oder->setData('paid_amount', $paid_amount);
         			$export_oder->save();
         			var_dump('order:' . $order_increment_id . ' item id:' .$item->getId() . ' save successed!');        			
         		}
         		
         	}
         }
    }

}
	 

 

分享到:
评论

相关推荐

    Magento Order Export

    Magento Order Export 模块是为Magento电子商务平台设计的一个功能,用于导出订单数据。这个模块允许管理员方便地将Magento商店中的订单信息导出为可处理的格式,例如CSV或XML,以便进行数据分析、备份或其他外部...

    magento1.8 + sample data 1.6

    magento 1.8 sample data 1.6

    magento商城data-feed

    Magento 商城 Data Feed 是一种数据交换机制,它允许商家将产品信息、库存状态等关键数据导出,以便在其他平台(如广告网络、价格比较网站或市场)上使用。Data Feed 对于电子商务运营至关重要,因为它提高了产品的...

    magento-shb-dataflow:适用于严肃业务的Magento Dataflow类

    Magento Dataflow是一个强大的工具,主要用于在Magento电子商务平台中导入和导出数据,如产品、客户、订单等。这个工具允许商家高效地管理大量的数据,从而提高运营效率。"magento-shb-dataflow"是一个增强版的Data...

    magento商城数据库

    这会创建 Magento 需要的所有表,包括 `catalog_product_entity`(产品信息)、`sales_flat_order`(订单数据)、`customer_entity`(客户信息)等。 4. **加载样本数据**:除了基础架构,这个包可能还包含一些示例...

    Magento插件(DeleteOrder)

    "DeleteOrder"插件是针对Magento系统的一个特定解决方案,解决了在默认情况下,Magento系统不支持直接删除订单的问题。这个插件允许用户在必要时永久删除订单,但需要注意的是,一旦订单被删除,数据将无法恢复,...

    Magento-Placed-Order-Export:下订单时,此扩展名用于导出订单明细

    "Magento Placed Order Export"是一个专门为Magento设计的扩展,其核心功能是在用户下订单时自动导出订单的详细信息,方便商家进行数据管理、分析或与第三方系统集成。 首先,让我们深入了解Magento的订单处理流程...

    magento官方文档翻译超好

    `Varien_Data_Collection`是Magento中最常用的数据集合类,它为开发者提供了一种高效的方式来管理多个对象。其主要特点包括: - **数据存储**:集合中的数据通常是以对象的形式存储的,这些对象可以是任何继承自`...

    magento-export:Magento 产品导出到 csv(magmi 就绪)

    此 magento 产品导出基于 Aten Software Product Data Exporter for Magento。 修复了 db 表前缀的错误,删除了未使用的列,仅类别导出类别 ID(特别是 magmi 导入) 如何使用: 打开 export.php 并在第 43 行...

    Magento 1.6 示例数据包

    文件名"magento-sample-data-1.6.0.0"中的数字"1.6.0.0"表示这是针对Magento 1.6.0.0版本的,这意味着它可能不适用于更高或更低版本的Magento。在安装前,确保你的Magento环境与数据包兼容,以免出现兼容性问题。 ...

    magento数据演示

    在本主题“Magento数据演示”中,我们将深入探讨如何利用提供的压缩包文件`magento_sample_data_for_1.9.0.0.sql`来设置一个预填充的数据环境,以便快速了解和测试Magento 1.9系统。 首先,`magento_sample_data_...

    magento快速复制网站_magento_magento快速复制站_

    同时,检查并修改`core_config_data`表中的`web/unsecure/base_url`和`web/secure/base_url`,确保它们指向新服务器的URL。 如果目标服务器有SSL证书,还需要在Magento后台系统设置中启用SSL,并更新相应的URL。 ...

    compressed-magento-sample-data:magento 1.9示例数据的高度压缩版本和用于创建它的脚本

    压缩的Magento 1.9样本数据提供以下变体: 65M 64M 40M 26M 24M 19M 样本数据包的大小为317MB,这很荒谬,由于找不到合适的替代来源,我决定一起整理一个小脚本,以压缩样本中的图像和MP3文件数据存档。 我的意图是...

    magento数据结构分析

    **SYSTEMLOGS**, **DATAFLOW**, **EAVENTITYTYPE**, **EAVATTRIBUTE**:这些表涉及标签管理、系统布局、API接口、目录管理、事件报告、系统日志、数据流控制、实体类型定义和属性定义,共同支持了Magento系统的全面...

    Magento1.6样例数据及使用说明

    Magento-sample-data-1.6.1.0这个压缩包就提供了这样的数据集,让你能够在安装Magento 1.6.1.0时预填充商店信息,无需从零开始创建所有内容。 样例数据的安装通常包括以下几个步骤: 1. **下载并解压**: 首先,你...

    magento-演示数据1.6.1.0

    该压缩包文件“magento-sample-data-1.6.1.0”通常包括以下内容: 1. **产品数据**:各种类型的示例商品,例如服装、电子产品、家居用品等,每个产品都有详细的描述、图片、价格、库存信息等,帮助用户了解如何在...

    Magento 1.4.2 简便生成订单函数

    - **$paymentData** (`Array`, 默认为 `array('method' =&gt; 'bkext_payment')`): 支付方式数据,包括支付方法等信息。 - **$session** (`Object`, 可选): 会话对象,用于设置报价到会话中。 #### 四、函数实现细节 1...

    magento导出数据sql

    4. **使用Magento的shell命令**:Magento提供了一系列的shell脚本,位于`app/code/core/Mage/Dataflow/Model/Convert/Adapter/Db/Sql/`目录下,可以用来生成SQL导出。通过命令行工具,你可以调用这些脚本,比如`...

Global site tag (gtag.js) - Google Analytics