简单修改让phpcms V9实现调用全站文章排行 -云主机博士

简单修改让phpcms V9实现调用全站文章排行 -云主机博士 第1张

phpcms V9是一个非常优秀的CMS管理系统,但是每一个CMS都不可能是完美的,很多功能需要经过二次开发,修改部分内核才能得到自己想要的效果,比如:在默认情况下,phpcms不支持调用全站文章排行。phpcms只支持调用当前文章排行,代码如下:

{pc:content action=”hits” catid=”ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 48: …C” cache=”3600″}̲

其中catid为待调用栏目的id,如果想实现全站调用,需要修改phpcms\modules\content\classes\content_tag.class.php文件,找到以下函数(大概在:148——196行):

/**
 * 排行榜标签
 * @param data∗/publicfunctionhits(data
 */
public function hits(data∗/publicfunctionhits(data) {
    catid=intval(catid = intval(catid=intval(data['catid']);
    if(!this−>setmodelid(this->set_modelid(this−>setmodelid(catid)) return false;

    this−>hitsdb=pcbase::loadmodel(′hitsmodel′);this->hits_db = pc_base::load_model('hits_model');this−>hitsdb=pcbase::loadmodel(′hitsmodel′);sql = desc=desc =desc=ids = '';
    array=array =array=ids_array = array();
    order=order =order=data['order'];
    hitsid=′c−′.hitsid = 'c-'.hitsid=′c−′.this->modelid.'-%';
    sql="hitsidLIKE′sql = "hitsid LIKE 'sql="hitsidLIKE′hitsid'";
    if(isset(ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: data['day'])) {updatetime = SYS_TIME-intval(data[′day′])∗86400;data['day'])*86400;data[′day′])∗86400;sql .= " AND updatetime>'ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 19: …atetime'";
    }̲
    if(this->category[ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: …id]['child']) {catids_str = this−>category[this->category[this−>category[catid]['arrchildid'];
        pos=strpos(pos = strpos(pos=strpos(catids_str,',')+1;
        catidsstr=substr(catids_str = substr(catidsstr=substr(catids_str, pos);pos);pos);sql .= " AND catid IN (ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 19: …ids_str)";
    }̲ else {sql .= " AND catid='ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 14: catid'";
    }̲hits = array();
    result=result =result=this->hits_db->select(sql,′∗′,sql, '*',sql,′∗′,data['limit'], order);foreach(order);
    foreach (order);foreach(result as ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: r) {pos = strpos(r[′hitsid′],′−′,2)+1;r['hitsid'],'-',2) + 1;r[′hitsid′],′−′,2)+1;ids_array[] = id=substr(id = substr(id=substr(r['hitsid'],pos);pos);pos);hits[id]=id] =id]=r;
    }
    ids=implode(′,′,ids = implode(',',ids=implode(′,′,ids_array);
    if(ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: ids) {sql = "status=99 AND id IN (ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 12: ids)";
    }̲ else {sql = '';
    }
    this−>db−>tablename=this->db->table_name =this−>db−>tablename=this->tablename;
    result=result =result=this->db->select(sql,′∗′,sql, '*',sql,′∗′,data['limit'],'','','id');
    foreach (idsarrayasids_array asidsarrayasid) {
        if(result[result[result[id]['title']!='') {
            array[array[array[id] = result[result[result[id];
            array[array[array[id] = array_merge(array[array[array[id], hits[hits[hits[id]);
        }
    }
    return $array;
}

将此段代码修改为:

/**
 * 排行榜标签
 * @param data∗/publicfunctionhits(data
 */
public function hits(data∗/publicfunctionhits(data) {
    catid=intval(catid = intval(catid=intval(data['catid']);

    this−>hitsdb=pcbase::loadmodel(′hitsmodel′);this->hits_db = pc_base::load_model('hits_model');this−>hitsdb=pcbase::loadmodel(′hitsmodel′);sql = desc=desc =desc=ids = '';
    array=array =array=ids_array = array();
    order=order =order=data['order'];
    hitsid=′c−′.hitsid = 'c-'.hitsid=′c−′.this->modelid.'-%';
    sql="hitsidLIKE′sql = "hitsid LIKE 'sql="hitsidLIKE′hitsid'";
    if(isset(ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: data['day'])) {updatetime = SYS_TIME-intval(data[′day′])∗86400;data['day'])*86400;data[′day′])∗86400;sql .= " AND updatetime>'ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 19: …atetime'";
    }̲
    if(!empty(catid) && ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: …为空
        if(!this->set_modelid(catid))returnfalse;if(catid)) return false;
        if(catid))returnfalse;if(this->category[ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: …id]['child']) {catids_str = this−>category[this->category[this−>category[catid]['arrchildid'];
            pos=strpos(pos = strpos(pos=strpos(catids_str,',')+1;
            catidsstr=substr(catids_str = substr(catidsstr=substr(catids_str, pos);pos);pos);sql .= " AND catid IN (ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 23: …str)";
        }̲ else {sql .= " AND catid='ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 18: …tid'";
        }̲
    }hits = array();
    result=result =result=this->hits_db->select(sql,′∗′,sql, '*',sql,′∗′,data['limit'], order);foreach(order);
    foreach (order);foreach(result as ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: r) {pos = strpos(r[′hitsid′],′−′,2)+1;r['hitsid'],'-',2) + 1;r[′hitsid′],′−′,2)+1;ids_array[] = id=substr(id = substr(id=substr(r['hitsid'],pos);pos);pos);hits[id]=id] =id]=r;
    }
    ids=implode(′,′,ids = implode(',',ids=implode(′,′,ids_array);
    if(ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: ids) {sql = "status=99 AND id IN (ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 12: ids)";
    }̲ else {sql = '';
    }
    this−>db−>tablename=this->db->table_name =this−>db−>tablename=this->tablename;
    result=result =result=this->db->select(sql,′∗′,sql, '*',sql,′∗′,data['limit'],'','','id');
    foreach (idsarrayasids_array asidsarrayasid) {
        if(result[result[result[id]['title']!='') {
            array[array[array[id] = result[result[result[id];
            array[array[array[id] = array_merge(array[array[array[id], hits[hits[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″}

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取


iproyal.png
原文链接:,转发请注明来源!
「简单修改让phpcms V9实现调用全站文章排行 -云主机博士」评论列表

发表评论