用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

ecshop订单商品统计

ecshop打印订单时并没有商品的统计,而实际应用中,这个功能非常实用。在网上找了很久都没有开发这个功能的。没办法,只有自己动手了。
1、首先打开admin/order.php文件,搜索$html='',在它上面添加$r = array();
2、搜索$smarty->template_dir = '../' . DATA_DIR,有两处,这里取第二处,大概在3000行左右,在它上面添加
   $sum = array();
   foreach($goods_list as $gkey => $gvalue){
   $sum[$gvalue['goods_name']] = $gvalue['goods_number'];
   }
   $s[] = $sum;
3、再往下一点点,有个echo $html; 在它下面添加:
/*--------------------------------------------------*/
//--订单合计
/*--------------------------------------------------*/
  
   function getArrayMerge($descs, $json_wares){  
     if (is_array($descs) && is_array($json_wares)){  
        $arrayMerge = array();  
        foreach ($json_wares as $key=>$value) {  
            if (isset($key, $descs)) {  
                    @ $arrayMerge[$key] = $value + $descs[$key];  
                    unset($descs[$key]);  
            } else {  
                    $arrayMerge[$key] = $value;  
            }  
        }  
        return $arrayMerge+$descs;  
    } else {  
            return false;  
    }  
}

$marge = array();
  foreach($s as $k => $v){
   $marge = getArrayMerge($marge,$v);
   }
   
    echo "<br /><hr />";
    echo "<center>";
    echo "<h1>订单合计</h1>";
    echo "<table width=\"25%\" border=\"1\" style=\"border-collapse:collapse;border-color:#000;\">";
    echo "<tr align=\"center\">";
    echo "<td bgcolor=\"#cccccc\">商品名称</td>"."<td bgcolor=\"#cccccc\">商品数量</td>";
    echo "</tr>";
   foreach($marge as $mk=> $mv){
    echo "<tr>";
    echo "<td> ".$mk."</td>";
    echo "<td align=\"right\">".$mv."</td>";
    echo "</tr>";
    }
   echo " </table>";
   echo "</ecnter>";
//print_r($marge);
/*-------------------------------------------------------*/

搞定,效果图如下:





折腾了好几天才弄出来的,先发出来分享一下。还有很多可以改进的地方,比如添加一个商品价格,或者其他的,但本人只是一个小菜鸟,技术有限,各位如果有什么建议,可不要藏私啊*_*
昵称: Savage_野人  时间: 2013-05-07 13:10:27
加上这个后方便多了!
昵称: ylyy  时间: 2013-06-13 08:01:57
发表评论
昵称:
内容:
验证: