91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

phpcms V9如何調用全站文章排行

發布時間:2020-06-11 04:13:10 來源:網絡 閱讀:885 作者:gutaotao1989 欄目:web開發

想在首頁添加瀏覽排行功能,卻發現Phpcms竟然不支持調用全站文章排行。仔細研究了Phpcms源碼,終于找到解決辦法。

默認情況下,Phpcms只支持調用當前文章排行,代碼如下:

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

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

    /** 

 * 排行榜標簽 

 * @param $data 

 */ 

public function hits($data) { 

    $catid = intval($data['catid']); 

    if(!$this->set_modelid($catid)) return false; 

  

    $this->hits_db = pc_base::load_model('hits_model'); 

    $sql = $desc = $ids = ''; 

    $array = $ids_array = array(); 

    $order = $data['order']; 

    $hitsid = 'c-'.$this->modelid.'-%'; 

    $sql = "hitsid LIKE '$hitsid'"; 

    if(isset($data['day'])) { 

        $updatetime = SYS_TIME-intval($data['day'])*86400; 

        $sql .= " AND updatetime>'$updatetime'"; 

    } 

    if($this->category[$catid]['child']) { 

        $catids_str = $this->category[$catid]['arrchildid']; 

        $pos = strpos($catids_str,',')+1; 

        $catids_str = substr($catids_str, $pos); 

        $sql .= " AND catid IN ($catids_str)"; 

    } else { 

        $sql .= " AND catid='$catid'"; 

    } 

    $hits = array(); 

    $result = $this->hits_db->select($sql, '*', $data['limit'], $order); 

    foreach ($result as $r) { 

        $pos = strpos($r['hitsid'],'-',2) + 1; 

        $ids_array[] = $id = substr($r['hitsid'],$pos); 

        $hits[$id] = $r; 

    } 

    $ids = implode(',', $ids_array); 

    if($ids) { 

        $sql = "status=99 AND id IN ($ids)"; 

    } else { 

        $sql = ''; 

    } 

    $this->db->table_name = $this->tablename; 

    $result = $this->db->select($sql, '*', $data['limit'],'','','id'); 

    foreach ($ids_array as $id) { 

        if($result[$id]['title']!='') { 

            $array[$id] = $result[$id]; 

            $array[$id] = array_merge($array[$id], $hits[$id]); 

        } 

    } 

    return $array; 

修改代碼(見注釋):

/** 

 * 排行榜標簽 

 * @param $data 

 */ 

public function hits($data) { 

    $catid = intval($data['catid']); 


    if(!empty($catid) && $catid>0) { //添加判斷:id是否為空 

 if(!$this->set_modelid($catid)) return false;

    }

  

    $this->hits_db = pc_base::load_model('hits_model'); 

    $sql = $desc = $ids = ''; 

    $array = $ids_array = array(); 

    $order = $data['order']; 

    $hitsid = 'c-'.$this->modelid.'-%'; 

    $sql = "hitsid LIKE '$hitsid'"; 

    if(isset($data['day'])) { 

        $updatetime = SYS_TIME-intval($data['day'])*86400; 

        $sql .= " AND updatetime>'$updatetime'"; 

    } 

    if(!emptyempty($catid) && $catid>0) { //添加判斷:id是否為空

        if($this->category[$catid]['child']) { 

            $catids_str = $this->category[$catid]['arrchildid']; 

            $pos = strpos($catids_str,',')+1; 

            $catids_str = substr($catids_str, $pos); 

            $sql .= " AND catid IN ($catids_str)"; 

        } else { 

            $sql .= " AND catid='$catid'"; 

        } 

    } 

      

    $hits = array(); 

    $result = $this->hits_db->select($sql, '*', $data['limit'], $order); 

    foreach ($result as $r) { 

        $pos = strpos($r['hitsid'],'-',2) + 1; 

        $ids_array[] = $id = substr($r['hitsid'],$pos); 

        $hits[$id] = $r; 

    } 

    $ids = implode(',', $ids_array); 

    if($ids) { 

        $sql = "status=99 AND id IN ($ids)"; 

    } else { 

        $sql = ''; 

    } 

    $this->db->table_name = $this->tablename; 

    $result = $this->db->select($sql, '*', $data['limit'],'','','id'); 

    foreach ($ids_array as $id) { 

        if($result[$id]['title']!='') { 

            $array[$id] = $result[$id]; 

            $array[$id] = array_merge($array[$id], $hits[$id]); 

        } 

    } 

    return $array; 

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

調用方法1:

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

調用方法2:

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

简阳市| 措勤县| 石阡县| 松潘县| 河池市| 沈丘县| 三都| 石城县| 太谷县| 丰都县| 房产| 绥芬河市| 定结县| 高台县| 和顺县| 石台县| 崇阳县| 余庆县| 隆德县| 景东| 定襄县| 疏附县| 德阳市| 蒙自县| 小金县| 丹寨县| 吴旗县| 开封县| 宿松县| 清涧县| 高青县| 沙田区| 依兰县| 昆明市| 新沂市| 洛川县| 哈巴河县| 威海市| 枣强县| 大新县| 兴隆县|