位置:首页 > CMS教程 > cms教程汇总

ecshop自动分成二次开发实例(ecshop二次开发教程)

发布时间:2023-04-07 01:26:33

文章来源:快乐收录网

访问次数:

 

自动分成功能在ecshop系统自带是没有的,如果我们需要对一单添加分成功能我们是需要进入二次开发的,下面小编来为各位介绍一个例子。

大概逻辑:HsA快乐收录网

后台操作一个订单发货的时候进行自动分成,后台取消发货,退货,改为未发货的时候去掉自动分成部分。HsA快乐收录网

核心代码:lib_common.phpHsA快乐收录网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
//分成积分计算
function fenchenjifen($usertype=3,$point){
$affiliate = unserialize($GLOBALS[_CFG][affiliate]);
if($usertype==3){   //采购
if ($affiliate[config][level_register_up])
{
$affiliate[config][level_register_up] /= 100;
}
$point_cg = round($affiliate[config][level_register_up] * intval($point), 0);
return $point_cg;
}   
if($usertype==1){//经销商
if ($affiliate[config][level_money_all])
{
$affiliate[config][level_money_all] /= 100;
}
$point_cg = round($affiliate[config][level_money_all] * intval($point), 0);
return $point_cg;
}   
if($usertype==2){//财务
if ($affiliate[config][level_register_all])
{
$affiliate[config][level_register_all] /= 100;
}
$point_cg = round($affiliate[config][level_register_all] * intval($point), 0);
return $point_cg;
}   
}
/**
* @param undefined $order  订单信息
* @param undefined $buyuser 购买者信息
* @param undefined $integral 计算积分
* $type = 1 增加  $type=-1 撤销
* 分成log状态99
*/
function fun_fencheng_change($order,$buyuser,$integral=array(),$type=1){//店铺分成计算
if(intval($order[parent_shopid])==0) return false;
if(!is_array($buyuser)) return false;
$order_id=$order[order_id];
$separate_by=99;
switch($buyuser[usertype]){
case 0://购买者类型
$row = $GLOBALS[db]->getRow("SELECT * from " . $GLOBALS[ecs]->table(users) . " u ".
" WHERE u.shopid  =".$order[parent_shopid]." and u.usertype=1"
);//获取pid
$up_uid = $row[user_id];          
if(!empty($up_uid) && $up_uid > 0)
{
$money=$point=0;    
$point= fenchenjifen(1,$integral[custom_points]);
// $info = sprintf($GLOBALS[_LANG][separate_info], $order[order_sn], $money, $point);
$info="订单".$order[order_sn]."分成获得积分:".$point;
log_account_change($up_uid, $money, 0, ($type)*$point, ($type)*$point, $info);
//var_dump($info);  
if($type==1){           
write_affiliate_log1($order_id, $up_uid, $row[user_name], $money, $point, $separate_by);
}else{
rollback_affiliate_log($order_id);
}
$orderupdate[is_separate]=$type==1?$separate_by:0;
$GLOBALS[db]->autoExecute($GLOBALS[ecs]->table(order_info),
$orderupdate, UPDATE, "order_id = $order_id");
}
break;
case 3:
$row = $GLOBALS[db]->getAll("SELECT u.shopid,u.user_id,u.usertype, u.user_name FROM " . $GLOBALS[ecs]->table(users) . " u ".
" WHERE u.shopid= ".$order[parent_shopid]." and u.usertype in (1,2)");
foreach($row as $val){ // 经销商和财务获得分成
if($val[usertype]==1){
$pointf = fenchenjifen(1,$integral[custom_points]);   
}
if($val[usertype]==2){
$pointf = fenchenjifen(2,$integral[custom_points]);
}   
$up_uid = $val[user_id];
//$info = sprintf($GLOBALS[_LANG][separate_info], $order[order_sn], $money, $pointf);
$info="订单".$order[order_sn]."分成获得积分:".$pointf;
log_account_change($up_uid, $money, 0, ($type)*$pointf, ($type)*$pointf, $info);
if($type==1){           
write_affiliate_log1($order_id, $up_uid, $val[user_name], $money, $pointf, $separate_by);
}else{
rollback_affiliate_log($order_id);
}
$orderupdate[is_separate]=$type==1?$separate_by:0;
$GLOBALS[db]->autoExecute($GLOBALS[ecs]->table(order_info),
$orderupdate, UPDATE, "order_id = $order_id");      
}
break;
}
return true;
}
/**
* @param undefined $oid
* @param undefined $uid
* @param undefined $username
* @param undefined $money
* @param undefined $point
* @param undefined $separate_by
* 写入订单分成 log
*/
function write_affiliate_log1($oid, $uid, $username, $money, $point, $separate_by)
{
$time = gmtime();
$sql = "INSERT INTO " . $GLOBALS[ecs]->table(affiliate_log) . "( order_id, user_id, user_name, time, money, point, separate_type)".
" VALUES ( $oid, $uid, $username, $time, $money, $point, $separate_by)";
if ($oid)
{
$GLOBALS[db]->query($sql);
}
}
//撤销订单分成
function rollback_affiliate_log($order_id,$falg=-2){
$sql = "UPDATE " . $GLOBALS[ecs]->table(affiliate_log) .
" SET separate_type = $falg" .
" WHERE order_id = $order_id";
$GLOBALS[db]->query($sql);
}

需要注意的点:HsA快乐收录网

后台发货程序在admin/order.phpHsA快乐收录网

需要修改的地方有: 发货 866行 ,取消发货 1035行 改为未发货 3961行 退货4132行。HsA快乐收录网

本代码只计算分成部分。自己下单部分另外。HsA快乐收录网

这个代码是按照店铺ID分成,多商户的。为ecshop二次开发版。无法用于原版。HsA快乐收录网

调用分成: fun_fencheng_change($order,$user,$integral,1);HsA快乐收录网

取消分成: fun_fencheng_change($order,$user,$integral,-1); 留言板基于功能就是数据添加管理修改及数据删除功能了,下面我们就来看一个PHP+MySQL实现简单留言板例子,希望文章能够帮助到大家。

通过php+mysql 实现的简易blog,可以实现增删改查。效果如下图:HsA快乐收录网

HsA快乐收录网

一、数据库及表结构HsA快乐收录网

数据库:testHsA快乐收录网

表:micro_blog(仅仅有一个表)字段:id,title,date,content,hitsHsA快乐收录网

表结构如下:HsA快乐收录网

CREATE TABLE `micro_blog` (HsA快乐收录网

`id` int(20) unsigned NOT NULL AUTO_INCREMENT,HsA快乐收录网

  `title` text NOT NULL ,HsA快乐收录网

  `content` longtext NOT NULL,HsA快乐收录网

`date` datetime NOT NULL DEFAULT 0000-00-00 00:00:00,HsA快乐收录网

  `hits` int(20) DEFAULT 0,HsA快乐收录网

   PRIMARY KEY (`ID`)HsA快乐收录网

)ENGINE=MyISAM DEFAULT CHARSET=utf8;

二、文件HsA快乐收录网

文件详细描述HsA快乐收录网

文件  描述HsA快乐收录网

default.php  默认主页。显示博文与操作连接。HsA快乐收录网

add.php  添加新博文的功能模块。HsA快乐收录网

edit.php  对已经添加过的博文进行修改操作。HsA快乐收录网

delete.php  删除博文模块。HsA快乐收录网

view.php  显示博文的详细信息(标题|添加日期|浏览次数|内容)。HsA快乐收录网

conn.php  链接数据库操作。在其它文件中被引用。HsA快乐收录网

conn.php

//连接MySql数据库服务HsA快乐收录网

$conn = @mysql_connect("localhost:3306","root","www.361way.com") or die("连接数据库服务器失败!");HsA快乐收录网

//连接ly_php_base数据库HsA快乐收录网

@mysql_select_db("test",$conn) or die("未能连接到数据库!");HsA快乐收录网

mysql_query("SET NAMES UTF8");HsA快乐收录网

?>  HsA快乐收录网

注:后面的set names utf8,如果不执行,会出现插入数据库中的汉字会变成乱码。

default.phpHsA快乐收录网

include("conn.php");HsA快乐收录网

//搜索关键字的管理HsA快乐收录网

if(!empty($_GET[keys])){HsA快乐收录网

$keys = "WHERE title like %".$_GET[keys]."%";HsA快乐收录网

} else {HsA快乐收录网

    $keys = "";HsA快乐收录网

}HsA快乐收录网

$sql = "SELECT * FROM micro_blog ".$keys." ORDER BY id DESC LIMIT 10";HsA快乐收录网

$query = mysql_query($sql);HsA快乐收录网

$rs = mysql_fetch_array($query);HsA快乐收录网

?>

我的微博客主页 HsA快乐收录网

添加内容 HsA快乐收录网

if(!$rs){HsA快乐收录网

echo "没有相关内容!";HsA快乐收录网

}HsA快乐收录网

//没有实现分页导航功能HsA快乐收录网

while($rs){HsA快乐收录网

?>HsA快乐收录网

标题: |编辑|删除

日期:

内容 ...... |查看详细内容| HsA快乐收录网

$rs = mysql_fetch_array($query);HsA快乐收录网

}HsA快乐收录网

?>HsA快乐收录网

add.php

//引入连接数据库文件HsA快乐收录网

include("conn.php");HsA快乐收录网

if(!empty($_POST[submit])){HsA快乐收录网

$title = $_POST[title];HsA快乐收录网

    $content = $_POST[content];HsA快乐收录网

$sql = "INSERT INTO micro_blog VALUES(NUll,$title,$content,now(),0)";HsA快乐收录网

    mysql_query($sql);HsA快乐收录网

}HsA快乐收录网

?>

发布微博页面 HsA快乐收录网

查看内容 HsA快乐收录网

  标题:HsA快乐收录网

  内容:HsA快乐收录网

</html> 

edit.phpHsA快乐收录网

include("conn.php");HsA快乐收录网

if(!empty($_GET[id])){HsA快乐收录网

    $id = $_GET[id];HsA快乐收录网

    $sql = "select * from micro_blog where id = ".$_GET[id];HsA快乐收录网

$query = mysql_query($sql);HsA快乐收录网

    $rc = mysql_fetch_array($query);HsA快乐收录网

}HsA快乐收录网

if(!empty($_POST[update])){HsA快乐收录网

    echo "更新按钮提交成功!";HsA快乐收录网

}HsA快乐收录网

?>HsA快乐收录网

编辑页面 HsA快乐收录网

  标题:HsA快乐收录网

  内容:HsA快乐收录网

<?php echo $rc[content];?>HsA快乐收录网

</html> 

delete.phpHsA快乐收录网

include("conn.php");HsA快乐收录网

if(!empty($_GET[id])){HsA快乐收录网

mysql_query("delete from micro_blog where id =".$_GET[id]);HsA快乐收录网

} else {HsA快乐收录网

        echo "参数引入失败!";HsA快乐收录网

}HsA快乐收录网

?>HsA快乐收录网

<?php echo $rc[title];?>|我的微博客 HsA快乐收录网

返回主页面 HsA快乐收录网

</html>

view.phpHsA快乐收录网

include("conn.php");HsA快乐收录网

if(!empty($_GET[id])){HsA快乐收录网

$sql = "SELECT * FROM micro_blog WHERE id = ".$_GET[id];HsA快乐收录网

    $rc = mysql_fetch_array(mysql_query($sql));HsA快乐收录网

mysql_query("UPDATE micro_blog SET hits = hits + 1 WHERE id = ".$_GET[id]);HsA快乐收录网

} else {HsA快乐收录网

    echo "参数引入失败!";HsA快乐收录网

}HsA快乐收录网

?>

<?php echo $rc[title];?>|我的微博客 HsA快乐收录网

返回主页面 HsA快乐收录网

</html>  下文来为各位整理一段php判断是android还是ios还是wp的访问网站例子,非常 的实用希望对各位朋友会有所帮助.

在php中可以用$_SERVER[HTTP_USER_AGENT]来区分是android、ios还是wp的请求,具体可以用以下代码来实现:HsA快乐收录网

$userAgent = $_SERVER[HTTP_USER_AGENT];HsA快乐收录网

if (preg_match("/(iPod|iPad|iPhone)/", $userAgent))HsA快乐收录网

{HsA快乐收录网

    echo ios; //IOS客户端HsA快乐收录网

}HsA快乐收录网

elseif (preg_match("/WP/", $userAgent))HsA快乐收录网

{HsA快乐收录网

    echo wp; //WinPhone客户端HsA快乐收录网

}HsA快乐收录网

elseif (preg_match("/android/i", $userAgent)) {HsA快乐收录网

    echo android; //android客户端HsA快乐收录网

}

当然我也可以在网页头部加上一段js代码效果是一样的HsA快乐收录网

try {HsA快乐收录网

 var urlhash = window.location.hash;HsA快乐收录网

 if ( !urlhash.match("fromapp") ) {HsA快乐收录网

if ( (navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad|SymbianOS|Windows Phone)/i) )) {HsA快乐收录网

window.location = "http://m.111cn.net";HsA快乐收录网

  }HsA快乐收录网

 }HsA快乐收录网

}HsA快乐收录网

catch(err) {HsA快乐收录网

}HsA快乐收录网

</script>

这样只要是手机访问网站就会自动到了手机版本网站了HsA快乐收录网

今天遇到在Linux系统下用php读取带中文的csv文件时,中文不显示了,感觉中文被歧视一样,后来找到原来要加上中文语言标识。

在LIUNX环境下PHP读取csv文件的时候,csv文件中的中文不显示....HsA快乐收录网

终于找到了解决方案,下面和大家分享下!HsA快乐收录网

在执行csv文件读取前加上一句:HsA快乐收录网

setlocale(LC_ALL, zh_CN);HsA快乐收录网

瞬间,问题解决了....HsA快乐收录网

实例:HsA快乐收录网

setlocale(LC_ALL, zh_CN);HsA快乐收录网

$handle = fopen(”xxx.csv”,”r”);HsA快乐收录网

while ($data = fgetcsv($handle, 1000,,)) {HsA快乐收录网

 ...HsA快乐收录网

}HsA快乐收录网

fclose($handle);HsA快乐收录网

?>HsA快乐收录网

注解:HsA快乐收录网

// utf-8HsA快乐收录网

setlocale(LC_ALL, en_US.UTF-8);HsA快乐收录网

// 简体HsA快乐收录网

setlocale(LC_ALL, zh_CN);HsA快乐收录网

扩展相关知识:HsA快乐收录网

以下是常用的地区标识HsA快乐收录网

zh_CN GB2312HsA快乐收录网

en_US.UTF-8 UTF-8HsA快乐收录网

zh_TW BIG5HsA快乐收录网

zh_HK BIG5-HKSCSHsA快乐收录网

zh_TW.EUC-TW EUC-TWHsA快乐收录网

zh_TW.UTF-8 UTF-8HsA快乐收录网

zh_HK.UTF-8 UTF-8HsA快乐收录网

zh_CN.GBK GBKHsA快乐收录网

php二维数组多元素排序小编介绍过很多了,只是今年看到这个例子有一点区别了所以小编为各位整理了一下,希望这个排序算法能够帮助到各位。

写个二维数组的多元素排序,多元素排序类似sql中的order by sort,date,下面代码考虑性能问题,只涉及2个元素进行排序。HsA快乐收录网

代码区:HsA快乐收录网

function multipleArraySort($old_arr,$arr1,$arr2){HsA快乐收录网

//排序第一个元素HsA快乐收录网

$old_arr = array_sort($old_arr,$arr1[0],$arr1[1]);HsA快乐收录网

$temp_array = $new_temp_array = array();HsA快乐收录网

foreach($old_arr as $k => $v){HsA快乐收录网

$key_count = count($old_arr)-1;HsA快乐收录网

//第一个元素数相等,放入临时数组HsA快乐收录网

if($v[$arr1[0]] == $old_arr[$k-1][$arr1[0]] || empty($temp_array)){HsA快乐收录网

$temp_array[$k] = $v;HsA快乐收录网

}HsA快乐收录网

if(($v[$arr1[0]] != $old_arr[$k-1][$arr1[0]] && !empty($temp_array)) || $key_count == $k){HsA快乐收录网

//添加最新元素HsA快乐收录网

$temp_array[$k] = $v; HsA快乐收录网

//数组大于1时,进行排序处理HsA快乐收录网

if(count($temp_array)>1){HsA快乐收录网

if($key_count != $k){HsA快乐收录网

//删除最后一个(与上一个不相等元素)HsA快乐收录网

unset($temp_array[$k]);HsA快乐收录网

}HsA快乐收录网

//不是最后或者最后相同,进行排序HsA快乐收录网

if($key_count != $k || $v[$arr1[0]] == $old_arr[$k-1][$arr1[0]]){HsA快乐收录网

//排序第二个元素HsA快乐收录网

$temp_array = array_sort($temp_array,$arr2[0],$arr2[1]);HsA快乐收录网

}HsA快乐收录网

//排序后把排序的数组,插入原数组排序前位置HsA快乐收录网

$count = count($new_temp_array)==0 ? 0 : count($new_temp_array);HsA快乐收录网

foreach($temp_array as $val_t){HsA快乐收录网

$new_temp_array[$count] = $val_t;HsA快乐收录网

$count++;HsA快乐收录网

}HsA快乐收录网

//写入新数组后清空原数组HsA快乐收录网

$temp_array = array();HsA快乐收录网

//添加最新元素HsA快乐收录网

$temp_array[$k] = $v;HsA快乐收录网

}HsA快乐收录网

}HsA快乐收录网

}HsA快乐收录网

return $new_temp_array;HsA快乐收录网

}HsA快乐收录网

//根据数组元素排序HsA快乐收录网

function array_sort($arr,$keys,$type=asc){ HsA快乐收录网

$keysvalue = $new_array = array();HsA快乐收录网

//获取元素值,生成新数组HsA快乐收录网

foreach ($arr as $k=>$v){HsA快乐收录网

$keysvalue[$k] = $v[$keys];HsA快乐收录网

}HsA快乐收录网

//排序,默认为正序HsA快乐收录网

if($type == asc){HsA快乐收录网

asort($keysvalue);HsA快乐收录网

}else{HsA快乐收录网

arsort($keysvalue);HsA快乐收录网

}HsA快乐收录网

reset($keysvalue);HsA快乐收录网

$count_s = 0;HsA快乐收录网

//恢复键值HsA快乐收录网

foreach ($keysvalue as $k=>$v){HsA快乐收录网

$new_array[$count_s] = $arr[$k];HsA快乐收录网

$count_s++;HsA快乐收录网

}HsA快乐收录网

return $new_array; HsA快乐收录网

}HsA快乐收录网

调用方法:

$old_arr = array(HsA快乐收录网

array(id=>1,sort=>1,date=>1405648791),HsA快乐收录网

array(id=>2,sort=>1,date=>1405649791),HsA快乐收录网

array(id=>3,sort=>2,date=>1405647791),HsA快乐收录网

);HsA快乐收录网

$arr1 = array(sort,desc);HsA快乐收录网

$arr2 = array(date,desc);HsA快乐收录网

$newArr = multipleArraySort($old_arr,$arr1,$arr2);HsA快乐收录网

var_dump($newArr);HsA快乐收录网

打印结果:

HsA快乐收录网

下一篇: ecshop交通银行在线支付插件使用例子
HsA快乐收录网

  《ecshop自动分成二次开发实例(ecshop二次开发教程)》更新于时间:2023-04-07 01:26:33;由本站小编进行发布,目前浏览的小伙伴达到,感谢你们的支持,后期快乐收录网小编会继续为大家更新更多相关的文章,希望广大网友多多关注快乐收录网工作心得栏目,如果觉得本站不错,那就给我们一个分享的支持吧!

ecshop自动分成二次开发实例(ecshop二次开发教程)特别声明

本站快乐收录网提供的ecshop自动分成二次开发实例(ecshop二次开发教程)都来源于网络,不保证文章的准确性和真实性,同时,对于该文章所造成的影响,不由快乐收录网实际控制,在2023-04-07 01:26:33收录时,该网页上的内容,都属于合规合法,如有侵权违规,可以直接联系网站管理员进行整改或删除,快乐收录网不承担任何责任。

快乐收录网:致力于优质、实用的网络站点资源收集与分享!本文地址:https://nav.klxjz.cn/CMS/cmsjiaochenghuizong/92578.html转载请注明

标签: