做網站,我們是認真的!

網站適配電腦+手機端,僅1280元,送2000M阿里云服務器,送com域名+免費備案
網站前端采用靜態系統顯示,后端動態管理,我們承諾網站包收錄,完成網站之后把源碼給客戶!

觀點

互聯網+時代,說建站,談運營與網絡營銷

自定義織夢cms文章置頂及其功能原理分析

時間:2020-12-21

本人在織夢dedecms本發分類信息發布系統那個功能的時候,因為,用到置頂功能,這是很多分類信息系統最很重要的特色,所以,對這個作了一個織夢dedecms系統的研究,以前用織夢dedecms系統建站,還真沒有發現這個功能,這個置頂功能在“高級參數”那里面,如下圖所示。
織夢dedecms置頂圖
 
  從上圖看到,他上面的置頂一周,一月,三個月等,對應的數值分別是7,30,90等,這說明這三個阿拉伯數字表示天數,即7天,30天,90天等,由此我們只需要增加這里的數值即可。打開在織夢后臺dede/templets里面找到
 
article_edit.htm和article_add.htm這二個文件,然后,改上自己希望的天數,例如,我想讓這個置頂為2天,那么在這二個模板文件里面,在下面二行代碼之間。插入<option value="2">置頂2天</option>
 
<option value='0'>正常排序</option>
<option value="7">置頂一周</option>
 
  當然,不一定非得插入到這二行之間,完全可以插入到其它行里面,這個隨便,根據你自己的需要插入相應的代碼即可,實際上就是上面代碼里面的vlue值代表的是天數。
 
  如果你不是一個技術站長,到此也就不用向下看教程內容,如果你想學建站技術,請向下閱讀教程。
 
  原理分析:
 
  為什么我加個代碼就能置頂?現在我們就分析這他是如何通過我們選中相應的置頂天數,達到置頂的。
 
  當我們點擊“保存”我們發布的文章,并選擇了置頂后,程序會把變量sortup的值,通過表單傳遞給程序文件artice.add.php文件,這個文件里面會根據這個sortup變量值,通過時間函數AddDay($pubdate,$sortup);把時間,設置為我們置頂時間,并插入到織夢微表#@_arctiny里面,請注意,個時間函數的參數,$pubdate是一串數字的時間,它是通過函數GetMkTime($pubdate)把我們發布文檔的時間,變成了Linux時間截,即一串數字,我們在數據庫里面,都以Linux時間截的形式保存著數據,當要取出這個時間的,變成人能夠看明白的時間,就要用到其它的函數,例如織構里面的MyDate()函數,當然,php系統函數也有很多。
 
  當把我們后臺置頂時間,添加到微表、附加表后和主表后,當我們更新一下首頁,我們置頂的時間就會少一些,直到時間到了就不再置頂了,這個功能是通過后臺生成函數
 
  織夢都有哪些時間函數?這個我們打開小助手文夾,找到time.helper.php,這里面全是織夢的時間函數,我們一個一個的看,這個在二次開發時,也是經常用到的。
 
  1.返回格林威治標準時間函數:MyDate($format='Y-m-d H:i:s', $timest=0),例如,我當前時間time()的值是1414940523,那么,我們可以通過MyDate函數進行格式化,MyDate('y-m-d',time()),打印結果為:14-11-02。在這個里面前面的參數,可以參考php手冊靈活調用。
 
  2.從普通時間轉換為Linux時間截函數:GetMkTime($dtime),這個根上面的MyDate()函數正是相板,這個函數我們人正常能夠看到的時間,變成一串數字,這樣便于向數據庫表保存,而上面的函數,一般是從數據表取出時間用到。
 
  3.增減時間函數:SubDay($ntime, $ctime) 參數$ntime為當前時間,$ctime為減少的時間。有減少就有增加,AddDay($ntime, $aday)函數就是增加函數,不用多數極其簡單。
 
  4.返回格式化時間函數:GetDateTimeMk($mktime)這個返回的是(Y-m-d H:i:s)風格的函數;GetDateMk($mktime)這個返回的是這種(Y-m-d)格式的日期,實際上這二個函數都是調用函時間函數MyDate()。這二個函數跟GetMKTime()正好相反方向轉化。
 
  5.將時間轉換為距離現在的精確時間函數:FloorTime($seconds)參數是秒數,這個在特別開發中應用廣泛,但在一般的開發中,一般用到的不多,甚至很少用到,算是比較專業的時間函數。
 
  上面幾個織夢dedecms的函數,只是我們在開發網站中經常用到的,但是織夢dedecms 的php系統給我們提供的時間函數,還有很多,參數也非常豐富。如果需要可以查詢php手冊。
    0
    首頁
    案例
    關于
    聯系
    凯时平台