<rt id="ziybt"><optgroup id="ziybt"><strike id="ziybt"></strike></optgroup></rt>

<label id="ziybt"><del id="ziybt"></del></label>

<span id="ziybt"></span>

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標(biāo) 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴

Phpcms V9 調(diào)用全站文章排行的解決方案_PHPCms教程

發(fā)表日期:2019-12 文章編輯:小燈 瀏覽次數(shù):4499

今天忙于修改網(wǎng)站界面,想在首頁添加瀏覽排行功能,卻發(fā)現(xiàn)Phpcms竟然不支持調(diào)用全站文章排行。下午仔細(xì)研究了Phpcms源碼,終于找到解決辦法。

默認(rèn)情況下,Phpcms只支持調(diào)用當(dāng)前文章排行,代碼如下:

{pc:content  action="hits" catid="$catid" num="10" order="views DESC" cache="3600"}

其中$catid為待調(diào)用欄目的id,如果想實(shí)現(xiàn)全站調(diào)用,需要修改phpcms\modules\content\classes\content_tag.class.php文件,找到以下函數(shù):

 
  1.     /** 
  2.  * 排行榜標(biāo)簽 
  3.  * @param $data 
  4.  */ 
  5. public function hits($data) { 
  6.     $catid = intval($data['catid']); 
  7.     if(!$this->set_modelid($catid)) return false; 
  8.   
  9.     $this->hits_db = pc_base::load_model('hits_model'); 
  10.     $sql = $desc = $ids = ''
  11.     $array = $ids_array = array(); 
  12.     $order = $data['order']; 
  13.     $hitsid = 'c-'.$this->modelid.'-%'
  14.     $sql = "hitsid LIKE '$hitsid'"
  15.     if(isset($data['day'])) { 
  16.         $updatetime = SYS_TIME-intval($data['day'])*86400; 
  17.         $sql .= " AND updatetime>'$updatetime'"
  18.     } 
  19.     if($this->category[$catid]['child']) { 
  20.         $catids_str = $this->category[$catid]['arrchildid']; 
  21.         $pos = strpos($catids_str,',')+1; 
  22.         $catids_str = substr($catids_str$pos); 
  23.         $sql .= " AND catid IN ($catids_str)"
  24.     } else { 
  25.         $sql .= " AND catid='$catid'"
  26.     } 
  27.     $hits = array(); 
  28.     $result = $this->hits_db->select($sql'*'$data['limit'], $order); 
  29.     foreach ($result as $r) { 
  30.         $pos = strpos($r['hitsid'],'-',2) + 1; 
  31.         $ids_array[] = $id = substr($r['hitsid'],$pos); 
  32.         $hits[$id] = $r
  33.     } 
  34.     $ids = implode(','$ids_array); 
  35.     if($ids) { 
  36.         $sql = "status=99 AND id IN ($ids)"
  37.     } else { 
  38.         $sql = ''
  39.     } 
  40.     $this->db->table_name = $this->tablename; 
  41.     $result = $this->db->select($sql'*'$data['limit'],'','','id'); 
  42.     foreach ($ids_array as $id) { 
  43.         if($result[$id]['title']!='') { 
  44.             $array[$id] = $result[$id]; 
  45.             $array[$id] = array_merge($array[$id], $hits[$id]); 
  46.         } 
  47.     } 
  48.     return $array

修改代碼(見注釋):

 
  1. /** 
  2.  * 排行榜標(biāo)簽 
  3.  * @param $data 
  4.  */ 
  5. public function hits($data) { 
  6.     $catid = intval($data['catid']); 
  7.   
  8.     $this->hits_db = pc_base::load_model('hits_model'); 
  9.     $sql = $desc = $ids = ''
  10.     $array = $ids_array = array(); 
  11.     $order = $data['order']; 
  12.     $hitsid = 'c-'.$this->modelid.'-%'
  13.     $sql = "hitsid LIKE '$hitsid'"
  14.     if(isset($data['day'])) { 
  15.         $updatetime = SYS_TIME-intval($data['day'])*86400; 
  16.         $sql .= " AND updatetime>'$updatetime'"
  17.     } 
  18.     if(!emptyempty($catid) && $catid>0) { //添加判斷:id是否為空 
  19.         if(!$this->set_modelid($catid)) return false; 
  20.         if($this->category[$catid]['child']) { 
  21.             $catids_str = $this->category[$catid]['arrchildid']; 
  22.             $pos = strpos($catids_str,',')+1; 
  23.             $catids_str = substr($catids_str$pos); 
  24.             $sql .= " AND catid IN ($catids_str)"
  25.         } else { 
  26.             $sql .= " AND catid='$catid'"
  27.         } 
  28.     } 
  29.       
  30.     $hits = array(); 
  31.     $result = $this->hits_db->select($sql'*'$data['limit'], $order); 
  32.     foreach ($result as $r) { 
  33.         $pos = strpos($r['hitsid'],'-',2) + 1; 
  34.         $ids_array[] = $id = substr($r['hitsid'],$pos); 
  35.         $hits[$id] = $r
  36.     } 
  37.     $ids = implode(','$ids_array); 
  38.     if($ids) { 
  39.         $sql = "status=99 AND id IN ($ids)"
  40.     } else { 
  41.         $sql = ''
  42.     } 
  43.     $this->db->table_name = $this->tablename; 
  44.     $result = $this->db->select($sql'*'$data['limit'],'','','id'); 
  45.     foreach ($ids_array as $id) { 
  46.         if($result[$id]['title']!='') { 
  47.             $array[$id] = $result[$id]; 
  48.             $array[$id] = array_merge($array[$id], $hits[$id]); 
  49.         } 
  50.     } 
  51.     return $array

修改代碼后,無論設(shè)置欄目id為0或空,都能調(diào)取全站文章排行。

調(diào)用方法1:

{pc:content  action="hits" catid="0" num="10" order="views DESC" cache="3600"}

調(diào)用方法2:

{pc:content  action="hits" num="10" order="views DESC" cache="3600"}

作者:Esion  來源:http://www.cnblogs.com/esion  轉(zhuǎn)載請(qǐng)注明出處

 


本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請(qǐng)及時(shí)與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會(huì)在5工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://m.chinazbtbw.com/28191.html
相關(guān)
最新網(wǎng)站建設(shè)案例
 八年  行業(yè)經(jīng)驗(yàn)

多一份參考,總有益處

聯(lián)系深圳網(wǎng)站公司塔燈網(wǎng)絡(luò),免費(fèi)獲得網(wǎng)站建設(shè)方案及報(bào)價(jià)

咨詢相關(guān)問題或預(yù)約面談,可以通過以下方式與我們聯(lián)系

業(yè)務(wù)熱線:余經(jīng)理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

最近免费观看高清韩国日本大全| 朝桐光亚洲专区在线中文字幕| 午夜福利视频合集1000| 精品国产成人亚洲午夜福利| 国产成人精品免费久久久久| 97久久免费视频| 天天操视频夜夜| 中文字幕+乱码+中文乱码www| 日日噜狠狠噜天天噜av| 亚州日本乱码一区二区三区| 日韩人妻不卡一区二区三区| 亚洲五月六月丁香激情| 欧美中日韩在线| 亚洲国产激情一区二区三区 | 精品国偷自产在线视频| 向日葵app下载网址进入在线看免费网址大全| 精品亚洲一区二区三区在线播放| 国产一级黄色录像| 苍井空浴缸大战猛男120分钟| 国产欧美一区二区精品久久久| 91亚洲一区二区在线观看不卡| 国产精品秦先生手机在线| AV无码精品一区二区三区宅噜噜| 国产精品电影网在线好看| 黄色一级视频网| 国产呻吟久久久久久久92| 美女的尿口无遮掩的照片| 国产乱子经典视频在线观看| 边吃奶边插下面| 国产午夜片无码区在线播放| 被合租粗糙室友到哭| 国产性猛交╳XXX乱大交| 青青草原综合久久大伊人| 国产成人av在线免播放观看| 青青草国产免费国产| 国产一区日韩二区欧美三区| 精品长泽梓在线播放视频| 四虎影院免费视频| 精品丝袜国产自在线拍亚洲| 免费v片在线看| 波多野结衣中文字幕电影播放 |