本篇文章是对于已经有了magento基础的人而言,在某个模块的额controller中写任意一个函数。

 public function goodbyeAction() {
for ($customer_id=1; $customer_id<10; $customer_id++) {
// $customer_id=5;//用户的id
$orders = Mage::getResourceModel('sales/order_collection')
->addFieldToSelect('*')
->addFieldToFilter('customer_id', $customer_id)
->addFieldToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
->setOrder('created_at', 'desc'); //获得当前用户所有的订单
$alldata = $orders->getData();
$ddl = sizeof($alldata);//获取到该用户的所有下单数量 for ($x = 0; $x < $ddl; $x++) { //可以考虑把取消的订单不要了
$sales_order = Mage::getModel('sales/order')->load($alldata[$x]['entity_id']); //$sales_order是某一个订单
foreach ($sales_order->getAllItems() as $item) {//item是某一件物品 $name = $item->getName(); //获取订单产品名
// $xsl = $item->getOrderedQty();//销售量这样获取不到,网上这种方式居多
$sku = $item->getSku();//获取sku
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addOrderedQty()
->addAttributeToFilter('sku', $sku)
->setOrder('ordered_qty', 'desc')
->getFirstItem();
$product = $_productCollection;
echo '销售量: '.(int)$product->ordered_qty;//这种方式获取销售量可以
echo '产品名: '.$name;
//echo $xsl;
echo 'sku: '. $sku;
}
}
}
}

  第一层for循环$customer_id从1到10,仅仅是对magento后台是1-10的用户id的用户进行遍历。

基于物品的属性,可能会用到的一些函数

echo $name = $item->getName(); //获取订单产品名
echo $price = $item->getPrice();//获取价格
echo $address= $item->getShippingAddress();//获取地址
echo $sku= $item->getSku();//获取sku
echo $FirstName=$billingAddress->getFirstname();
echo $LastName=$billingAddress->getLastname();
echo $Email=$sales_order->getData('customer_email');
echo $Phone=$billingAddress->getTelephone();
echo $ZipCode=$billingAddress->getPostcode();
echo $company=$billingAddress->getCompany();
echo $Address=$billingAddress->getStreetFull();
echo $City=$billingAddress->getCity();
echo $State=$billingAddress->getRegion();
echo $Country=$billingAddress->getCountry();
echo $option = $item->getProductOptions(); //获取option属性
echo $qty = $item->getQtyOrdered(); //获取订单产品数量
echo $item->getRowTotal();//获取total 针对用户的某一个订单,可以获得的属性:
  $shipping=$sales_order->getShippingDescription();//运送方式
$order = Mage::getModel ( 'sales/order' )->loadByIncrementId ($incrementID);//$incrementID是订单号
  $pay=Mage::helper('payment')->getInfoBlock($order->getPayment())->toHtml();//支付方式
  $status = $sales_order->getStatus();//订单状态
$state = $sales_order->getState();
$Email=$sales_order->getData('customer_email'); //客户的邮件

magento中根据用户的id获取用户的所有订单以及每个订单中的物品 以及物品的相关属性的更多相关文章

  1. $_SERVER['HTTP_USER_AGENT']:在PHP中HTTP_USER_AGENT是用来获取用户的相关信息的,包括用户使用的浏览器,操作系统等信息

    在PHP中HTTP_USER_AGENT是用来获取用户的相关信息的,包括用户使用的浏览器,操作系统等信息. 我机器:操作系统:WIN7旗舰版 64操作系统 以下为各个浏览器下$_SERVER['HTT ...

  2. 背水一战 Windows 10 (82) - 用户和账号: 获取用户的信息, 获取用户的同意

    [源码下载] 背水一战 Windows 10 (82) - 用户和账号: 获取用户的信息, 获取用户的同意 作者:webabcd 介绍背水一战 Windows 10 之 用户和账号 获取用户的信息 获 ...

  3. jstack:将Process Explorer中看到的进程ID做16进制转换,到ThreadDump中加上0x 前缀即能找到对应线程(转)

    原文链接:http://www.iteye.com/topic/1133941 症状: 使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jd ...

  4. 用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)

    本文将介绍基于Senparc.Weixin微信开发框架来实现网页授权来获取用户基本信息.先生成包含授权及回调url信息的二维码:用户用微信扫描之后,被要求授权以获取Ta的用户基本信息:用户授权后,通过 ...

  5. oracle函数学习_根据用户id获取用户角色

    create or replace function FN_GET_ROLES(v_user_id varchar2) return varchar2 istype zy_emp_cursor is ...

  6. 根据用户的ID查用户的名字

    awk -F: '{if($3==0){print $1}}'  /etc/passwd

  7. 05Mybatis_入门程序——根据id查询用户

    这篇文章我们来做一个入门的案例: 建表: /* SQLyog v10.2 MySQL - 5.1.72-community : Database - mybatis ***************** ...

  8. Android之QQ授权登录获取用户信息

    有时候我们开发的app须要方便用户简单登录.能够让用户使用自己的qq.微信.微博登录到我们自己开发的app. 今天就在这里总结一下怎样在自己的app中集成QQ授权登录获取用户信息的功能. 首先我们打开 ...

  9. .Net之微信小程序获取用户UnionID

    前言: 在实际项目开发中我们经常会遇到账号统一的问题,如何在不同端或者是不同的登录方式下保证同一个会员或者用户账号唯一(便于用户信息的管理).这段时间就有一个这样的需求,之前有个客户做了一个微信小程序 ...

随机推荐

  1. layout_weight 全解析

    [layout_weight 全解析] 参考:http://www.cnblogs.com/net168/p/4227144.html

  2. 一些网站的meta标签的作用

    转载:https://www.cnblogs.com/Lily-nercel/p/6693293.html <!DOCTYPE html> <html lang="en&q ...

  3. log4j最中意的配置

    log4j.rootLogger=DEBUG, Console, logfile log4j.appender.Console=org.apache.log4j.ConsoleAppender log ...

  4. Ext.js多文件选择上传,

    工作了之后来到了一家用Ext.js的公司, 一开始的时候做项目, 我被分给一个做一个单表的增删改查, 再加上文件上传功能, 带我的老师让我自己研究一下Ext.js怎么多文件选择上传, 并且能获取到上传 ...

  5. phpstorm添加站点

    1.在界面上快捷键 ctrl+alt+s 或打开File->settings 2.找到Deployment 设置完后确定即可使用.

  6. 94. Binary Tree Inorder Traversal(Tree, stack)

    Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...

  7. shape 图形

    主要属性: <?xml version="1.0"encoding="utf-8"?><shape > <corners /> ...

  8. PHP遍历数组常用方式(for,foreach,while,指针等等)

    1使用for循环遍历数组 count($arr)用于统计数组元素个数         for循环只能用于遍历,纯索引数组!!如果存在关联数组,count统计两种数组的总个数         使用for ...

  9. Windows系统制作Ubuntu启动U盘(命令行)

    背景 现今Ubuntu系统的使用越来越多,考虑到日常办公还是用Windows系统,但开发的需求常常要有Linux系统.因此将Linux系统安装到U盘不失为一种好的选择.在Windows系统上制作Ubu ...

  10. webpack(一) 安装使用 之css使用注意

    在webpackDemo 文件夹中新建 style.css,index.html style.css 中将背景色设为红色. body{ background-color: red; } he'llWo ...