POST TIME:2017-11-12 23:46
用dedecms做優(yōu)化還是相當(dāng)靠譜的,個(gè)人不喜歡MVC的設(shè)計(jì),冗余代碼太多了,打開速度是很重要的,采用響應(yīng)式布局,不需要跳轉(zhuǎn)到移動(dòng)端,手機(jī)、PC一站搞定。這些要是用框架是比較難實(shí)現(xiàn)的。但是dedecms用來(lái)做商城就傷腦筋了,為了完善這些功能,很多牛逼的人也自己二次開發(fā)。
下面筆者分享經(jīng)試驗(yàn)成功后的優(yōu)化技巧全站調(diào)用購(gòu)物車的數(shù)量,添加到購(gòu)物車后數(shù)量修改不能同步展示,個(gè)性訂單號(hào)規(guī)則等。抄來(lái)抄去不如自己動(dòng)手豐衣足食!
dedecms本來(lái)就有/plus/count.php,稍微修改一下就行了,在/plus目錄下增加一個(gè)car_count.php,代碼如下:
<?php /* * /plus/car_count.php * 顯示購(gòu)物車的商品數(shù)量 */ 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; ?>
全站調(diào)用代碼
購(gòu)物車數(shù)量:<script language="javascript" src="/plus/car_count.php"></script>
這里的實(shí)現(xiàn)方法很簡(jiǎn)單,在購(gòu)物車頁(yè)面調(diào)用商品數(shù)量及商品總價(jià)方法參考《dede購(gòu)物車優(yōu)化之商品全選及數(shù)量增加減按鈕》,這些數(shù)據(jù)只是顯示,并不會(huì)直接提交到數(shù)據(jù)庫(kù)中,最終修改了購(gòu)物數(shù)量還是需要更新,只要修改更新后的跳轉(zhuǎn)就行了。找到下面的代碼,按照下面修改
<input onclick="ChangePost()" type="button" value="下一步" class="btn-2" /><!--把原有的“更新數(shù)量”改為“下一步”--> <!--input type="button" value="下一步" onclick="location='carbuyaction.php'" class="btn-2" /--><!--注釋-->
找到/plus/postocar.php,頁(yè)面的最下面,找到
ShowMsg("購(gòu)物車中商品已全部更新!","car.php");
修改提示文字,跳轉(zhuǎn)地址,和跳轉(zhuǎn)時(shí)間
ShowMsg("提交成功,請(qǐng)進(jìn)行下一步!","carbuyaction.php",false, 100);//跳轉(zhuǎn)時(shí)間為100毫秒,根據(jù)實(shí)際需要調(diào)整
默認(rèn)的訂單號(hào)為S-P開頭,找到/include/shopcar.class.php,找到
$this->OrdersId ='S-P'.time().'RN'.mt_rand(100,999);
代碼說(shuō)明:
'S-P':默認(rèn)商城訂單號(hào)的開頭字母,可隨意修改; time():格林威治時(shí)間,也就是訂單號(hào)S-P后邊跟的那一串?dāng)?shù)字,不建議修改; 'RN':也可修改; mt_rand(100,999):100~999隨機(jī)生成一個(gè)3位數(shù),根據(jù)實(shí)際需要修改為4位2位均可。