用dedecms做优化还是相当靠谱的,个人不喜欢MVC的设计,冗余代码太多了,采用响应式布局,不需要跳转到移动端,手机、PC一站搞定。这些要是用框架是比较难实现的。但是dedecms用来做商城就伤脑筋了,为了完善这些功能,很多牛逼的人也自己二次开发。

下面笔者分享经试验成功后的优化技巧全站调用购物车的数量,添加到购物车后数量修改不能同步展示,个性订单号规则等。

1.全站显示调用购物车内的商品数量

dedecms本来就有/plus/count.php,稍微修改一下就行了,在/plus目录下增加一个car_count.php,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
/*
* /plus/car_count.php
* 显示购物车的商品数量
*/
require_once (dirname(__FILE__) . "/../include/common.inc.php");
define('_PLUS_TPL_', DEDEROOT.'/templets/plus');
require_once(DEDEINC.'/dedetemplate.class.php');
require_once DEDEINC.'/shopcar.class.php';
$cart = new MemberShops();
$car_count = 0;
if($cart->cartCount() >= 1)
{
$car_count = $cart->cartCount();
}
echo ('document.write("' . $car_count . '"); ');
exit;
?>

全站调用代码

购物车数量:<script language="javascript" src="/plus/car_count.php"></script>

2.购物车自动更新数量

这里的实现方法很简单,在购物车页面调用商品数量及商品总价方法参考dede购物车优化之商品全选及数量增加减按钮,这些数据只是显示,并不会直接提交到数据库中,最终修改了购物数量还是需要更新,只要修改更新后的跳转就行了。找到下面的代码,按照下面修改

<input onclick="ChangePost()" type="button" value="下一步" class="btn-2" /><!--把原有的“更新数量”改为“下一步”-->

<!--input type="button" value="下一步" onclick="location='carbuyaction.php'" class="btn-2" /--><!--注释-->

找到/plus/postocar.php,页面的最下面,找到

ShowMsg("购物车中商品已全部更新!","car.php");

修改提示文字,跳转地址,和跳转时间

ShowMsg("提交成功,请进行下一步!","carbuyaction.php",false, 100);//跳转时间为100毫秒,根据实际需要调整

3.修改为个性订单号规则

默认的订单号为S-P开头,找到/include/shopcar.class.php,找到

$this->OrdersId ='S-P'.time().'RN'.mt_rand(100,999);

代码说明:

'S-P':默认商城订单号的开头字母,可随意修改;

time():格林威治时间,也就是订单号S-P后边跟的那一串数字,不建议修改;

'RN':也可修改;

mt_rand(100,999):100~999随机生成一个3位数,根据实际需要修改为4位2位均可。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。