国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

PHPCMS全站文章點擊排行2個例子

2024-09-10 07:16:14
字體:
來源:轉載
供稿:網友

PHPCMS自帶的點擊排行標簽不支持全站文章點擊排行,必須輸入類別,可以把自帶的點擊標簽復制一份稍加修改一下支持全站文章點擊排行,代碼如下:

  1. /** 
  2.  * 全站排行榜標簽 
  3.  * @param $data 
  4.  */ 
  5. public function hits_all($data){ 
  6.  $this->modelid = 12;//這里就寫成固定的,模型id去后臺模型管理找 
  7.  $this->hits_db = pc_base::load_model('hits_model'); 
  8.  $this->db->set_model($this->modelid); 
  9.  $this->tablename = $this->db->table_name; 
  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.  $hits = array(); 
  20.  $result = $this->hits_db->select($sql'*'$data['limit'], $order); 
  21.  foreach ($result as $r) { 
  22.   $pos = strpos($r['hitsid'],'-',2) + 1; 
  23.   $ids_array[] = $id = substr($r['hitsid'],$pos); 
  24.   $hits[$id] = $r
  25.  } 
  26.  $ids = implode(','$ids_array); 
  27.  if($ids) { 
  28.   $sql = "status=99 AND id IN ($ids)"
  29.  } else {  //開源軟件:Vevb.com 
  30.   $sql = ''
  31.  } 
  32.  $this->db->table_name = $this->tablename; 
  33.  $result = $this->db->select($sql'*'$data['limit'],'','','id'); 
  34.  foreach ($ids_array as $id) { 
  35.   if($result[$id]['title']!='') { 
  36.    $array[$id] = $result[$id]; 
  37.    $array[$id] = array_merge($array[$id], $hits[$id]); 
  38.   } 
  39.  } 
  40.  return $array

調用的時候,代碼如下:

  1. {pc:content  action="hits_all" order="weekviews DESC" num="10"
  2. <ul class="softolist"
  3. {loop $data $key $val
  4.  <li> <a href="{$val['url']}" title="{$val['title']}">{$val['title']}</a></li> 
  5. {/loop} //開源軟件:Vevb.com 
  6. </ul> 
  7. {/pc} 

例2:

①打開phpcmsmodulescontentclassescontent_tag.class.php文件;

②找個位置添加以下代碼,首行時間可以自由修改,方便后期查詢,代碼如下:

  1. function sitehits($data){  
  2. if(emptyempty($data['siteid'])) return false;  
  3. $siteid = intval($data['siteid']);  
  4. $this->hits_db = pc_base::load_model('hits_model');  
  5. $category_content = getcache('category_content','commons');  
  6. $catid = '';  
  7. //獲取站點下所有欄目ID  
  8. foreach($category_contentas$key=>$val){  
  9. if($val==$siteid){  
  10. $catid .= $comma.$key;  
  11. $comma=',';  
  12. }  
  13. }  
  14. //獲取點擊排行  
  15. $r = $this->hits_db->select('catid in('.$catid.')','hitsid',$data['limit'],$data['order']);  
  16. $return = array();  
  17. $sitemodel_model_db = pc_base::load_model('sitemodel_model');  
  18. $this->db_config = pc_base::load_config('database');  
  19. $tablepre = $this->db_config['default']['tablepre'];  
  20. foreach($ras$key){  
  21. preg_match_all('/-(d+)-/',$key['hitsid'],$modelid);  
  22. $id = substr($key['hitsid'],(strpos($key['hitsid'],'-',2)+1));  
  23. $tablename = $sitemodel_model_db->get_one(array('modelid'=>$modelid[1][0]),'tablename');  
  24. $this->db->table_name = $tablepre.$tablename['tablename'];  
  25. $return[] = array_merge($return,$this->db->get_one(array('id'=>$id)));  
  26. }  
  27. return$return;  

③備份文件,以防后期pc程序升級時被覆蓋.

④前端頁面模板調用方法,示例如下:

  1. {pc:content action="sitehits" siteid="4" num="10" order="views DESC" cache="3600"} {loop $data$r}  
  2. "{$r[url]}" target="_blank">{$r[title]} 
  3. {/loop}  
  4. {/pc}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡西市| 响水县| 和平区| 定州市| 喀喇沁旗| 乐都县| 库尔勒市| 四子王旗| 克山县| 阜康市| 六盘水市| 嘉禾县| 灵丘县| 诸暨市| 镇宁| 八宿县| 清流县| 罗定市| 中山市| 铜陵市| 方正县| 巧家县| 寻甸| 略阳县| 海伦市| 盈江县| 高台县| 泽普县| 张家界市| 仪征市| 东方市| 黄大仙区| 芦山县| 伊通| 喀什市| 新绛县| 莱阳市| 昌都县| 大埔县| 禹城市| 班戈县|