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

首頁 > CMS > PhpCMS > 正文

【phpcms-v9】獲取當前欄目下周點擊量最高的三篇帶縮略圖

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

【phpcms-v9】獲取當前欄目下周點擊量最高的三篇帶縮略圖的文章

1.content_tag.class.php文件中hits()函數改造為:

  1. /**  
  2.      * 排行榜標簽:len-控制顯示條數       thumb-顯示帶縮略圖  
  3.      * @param $data  
  4.      */   
  5.     public function hits($data) {   
  6.         $catid = intval($data['catid']);                                    //欄目id,pc標簽的catid屬性   
  7.         if(!$this->set_modelid($catid)) return false;                        //根據欄目id->對應的模型id->模型表,如:news   
  8.         $data['limit'] = (isset($data['limitt'])&& (!emptyempty($data['limitt'])))?$data['limitt']:"";//weiyanhui添加   
  9.         $this->hits_db = pc_base::load_model('hits_model');                  //hits:點擊量表            
  10.         $sql = $desc = $ids = '';   
  11.         $array = $ids_array = array();   
  12.         $order = $data['order'];                                            //pc標簽中order屬性   
  13.         $hitsid = 'c-'.$this->modelid.'-%';                                  //hits點擊量表中hitsid字段的組成:c-模型id-文章id   
  14.         $sql = "hitsid LIKE '$hitsid'";                                     //拼接sql   
  15.         if(isset($data['day'])) {                                           //pc標簽中day屬性:表示調用多少天內的排行   
  16.             $updatetime = SYS_TIME-intval($data['day'])*86400;              //表示調用多少天內的排行   
  17.             $sql .= " AND updatetime>'$updatetime'";                     //拼接sql   
  18.         }   
  19.         if($this->category[$catid]['child']) {                               //當前欄目是否有子欄目   
  20.             $catids_str = $this->category[$catid]['arrchildid'];         //當前欄目下所有子欄目id,包括當前欄目自身的id   
  21.             $pos = strpos($catids_str,',')+1;   
  22.             $catids_str = substr($catids_str$pos);                        //當前欄目下所有子欄目id,不包括當前欄目自身id   
  23.             $sql .= " AND catid IN ($catids_str)";                          //拼接sql   
  24.         } else {   
  25.             $sql .= " AND catid='$catid'";                                  //如果當前欄目不存在子欄目   
  26.         }   
  27.         $hits = array();   
  28.         $result = $this->hits_db->select($sql'*'$data['limit'], $order);//查詢v9_hits點擊量表   
  29.         foreach ($result as $r) {                                           //$result:v9_hits表中返回的數據   
  30.             $pos = strpos($r['hitsid'],'-',2) + 1;                          //格式:c-模型id-文章id,如,c-1-1 ,查找第二個 "-"的位置   
  31.             $ids_array[] = $id = substr($r['hitsid'],$pos);                 //文章的id, $ids_array[]:文章id數組   
  32.             $hits[$id] = $r;                                                //每篇文章的點擊量信息 ,格式:$hits[文章id]= 文章點擊記錄信息   
  33.         }   
  34.         $ids = implode(','$ids_array);                                    //將文章id數組以逗號拼接成一個字符串   
  35.         if($ids) {                                     
  36.             $sql = "status=99 AND id IN ($ids)";                            //拼接sql   
  37.         } else {   
  38.             $sql = '';   
  39.         }   
  40.         $this->db->table_name = $this->tablename;                          //內容主表:v9_news   
  41.         $result = $this->db->select($sql'*'$data['limit'],'','','id');  //查詢內容主表:v9_news   
  42.         foreach ($ids_array as $id) {                                       //$ids_array:hits表中查詢出來的文章id數組,id是排好順序的   
  43.             if($data['thumb']!=""){                                         //只查詢帶縮略圖的文章,weiyanhui添加   
  44.                 if($result[$id]['title']!='' && $result[$id]['thumb']!='') {   
  45.                     $array[$id] = $result[$id];   
  46.                     $array[$id] = array_merge($array[$id], $hits[$id]);     //將內容主表v9_news中數據與點擊量表v9_hits中數據合并,合并橋梁為id   
  47.                 }   
  48.             }else{                                                          //有縮略圖和無縮略圖的文章都查詢   
  49.                 if($result[$id]['title']!='') {   
  50.                     $array[$id] = $result[$id];   
  51.                     $array[$id] = array_merge($array[$id], $hits[$id]);     //將內容主表v9_news中數據與點擊量表v9_hits中數據合并,合并橋梁為id   
  52.                 }   
  53.             }   
  54.         }   
  55.            
  56.         //weiyanhui開始   
  57.         if(isset($data['len'])){//截取長度   
  58.             //獲取數組中的前len條數據   
  59.             $array=array_slice($array,0, intval($data['len']));   
  60.         }  //開源軟件:Vevb.com 
  61.         //weiyanhui結束   
  62.         //echo "<br/>";   
  63.         //print_r($array);   
  64.            
  65.         return $array;   
  66.     }   

2.模板中調用:

  1. <div class="b_bianjituijian_c">   
  2.                     <!-- 當前欄目下周點擊率最高的三篇文章 -->   
  3.                     {pc:content action="hits"  catid="$catid" thumb="1"  len="3" order="weekviews DESC"}   
  4.                     {loop $data $r}   
  5.                     <dl class="b_bianjituijian_cf">   
  6.                         <dt><a href="{$r['url']}"><img src="{$r['thumb']}" width="60" height="60"  alt="{$r['title']}"/></a></dt>   
  7.                         <dd>   
  8.                             <h3><a href="{$r['url']}">{str_cut1($r[title],5,'...')}</a></h3>   
  9.                             <p>   
  10.                             {str_cut($r[description],70,'...')}   
  11.                                 <a href="{$r['url']}">【詳細】</a>   
  12.                             </p>   
  13.                         </dd>   
  14.                     </dl>   
  15.                        
  16.                     <span class="border-bx"></span>   
  17.                     {/loop}   
  18.                     {/pc}   
  19. </div>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴旗县| 嘉祥县| 平定县| 巴青县| 南华县| 阿图什市| 禹城市| 新巴尔虎左旗| 淮滨县| 体育| 海盐县| 稷山县| 罗甸县| 石渠县| 施秉县| 邮箱| 兴宁市| 禹城市| 阿拉善右旗| 葫芦岛市| 巴中市| 成安县| 谷城县| 全南县| 横山县| 腾冲县| 固始县| 巨野县| 潼关县| 商河县| 新巴尔虎右旗| 凤翔县| 漯河市| 彩票| 桂林市| 余姚市| 和政县| 平安县| 买车| 静海县| 高唐县|