POST TIME:2017-11-12 23:46
用dedecms做優化還是相當靠譜的,個人不喜歡MVC的設計,冗余代碼太多了,打開速度是很重要的,采用響應式布局,不需要跳轉到移動端,手機、PC一站搞定。這些要是用框架是比較難實現的。但是dedecms用來做商城就傷腦筋了,為了完善這些功能,很多牛逼的人也自己二次開發。
下面筆者分享經試驗成功后的優化技巧全站調用購物車的數量,添加到購物車后數量修改不能同步展示,個性訂單號規則等。抄來抄去不如自己動手豐衣足食!
dedecms本來就有/plus/count.php,稍微修改一下就行了,在/plus目錄下增加一個car_count.php,代碼如下:
<?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>
這里的實現方法很簡單,在購物車頁面調用商品數量及商品總價方法參考《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毫秒,根據實際需要調整
默認的訂單號為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位均可。