主頁 > 網(wǎng)站建設(shè) > 建站知識 > Dedecms商城系統(tǒng)修改訂單號生成規(guī)則

Dedecms商城系統(tǒng)修改訂單號生成規(guī)則

POST TIME:2021-05-17 23:52

這次仿站,有人問,dedecms加入購物車后,訂單號S-P開頭的,能不能換成其他形式的,實際上是可以的,只要找到相關(guān)shopcart購物車調(diào)用的類文件修改下,找到dede網(wǎng)站下include/shopcar.class.php
大概找到46行代碼處,這里就是生成訂單號的代碼
 
修改代碼:
$this->OrdersId ='S-P'.time().'RN'.mt_rand(100,999);
 
修改紅色部分就可以了,代碼中常量解釋如下
 
這句話中$this->OrdersId 最后得到的就是訂單號。
 
'S-P' 這個就是織夢商城訂單號的開頭字母。我們可以隨意修改。
 
time() 這個是Unix時間戳(Unix Timestamp:時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)以來的秒數(shù)),也就是訂單號S-P后邊跟的那一串?dāng)?shù)字。
 
'RN' 這個是訂單號中數(shù)字時間戳后邊又跟的字母,這個也可以去修改。
 
mt_rand(100,999) 這個是100~999之間,隨機生成一個數(shù)字。也就是說,隨機生成一個3位數(shù)。也可以其他如改成隨機兩位數(shù)的。
 
之所以這樣組合生成訂單號,是因為這樣可以有效防止訂單號發(fā)生重復(fù)。如果每秒生成上千的訂單號的大商城,諸如京東這樣的商城,那么如果用這樣方式組合生成訂單號,就有可能會出現(xiàn)訂單號重復(fù)的現(xiàn)象,我們可以在加入些變量或常量,例如用戶id,訪客ip。


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266