网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 phpcms V9修改lists标签(实现调用文章所属栏目及点击数)
内容
    pc程序默认首页是无法调用出文章的点击数,而调用文章所属的栏目名称也很复杂,需要先使用php语句进行数据缓存后才能调用。其实我们可以一步到位,自己添加函数来实现在首页/频道页/列表页调用文章点击数及文章所属栏目名称
    实现效果步骤如下:
    ①打开phpcmsmodulescontentclassescontent_tag.class.php文件;
    ②搜索“列表页标签”,即lists标签函数,应该在文件的56行左右,把lists标签函数的整段调用代码修改如下:
    代码如下:
    /**
    * 列表页标签
    * @param $data
    */
    publicfunction lists($data) {
    $catid = intval($data['catid']);
    if(!$this->set_modelid($catid)) return false;
    if(isset($data['where'])) {
    $sql = $data['where'];
    } else {
    $thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
    if($this->category[$catid]['child']) {
    $catids_str = $this->category[$catid]['arrchildid'];
    $pos = strpos($catids_str,',')+1;
    $catids_str = substr($catids_str, $pos);
    $sql = "status=99 AND catid IN ($catids_str)".$thumb;
    } else {
    $sql = "status=99 AND catid='$catid'".$thumb;
    }
    }
    $order = $data['order'];
    $return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');
    //二次开发=============================================
    foreach($returnas &$r){
    $h_md=pc_base::load_model('hits_model');
    $get_db=$h_md->get_one(array('hitsid'=>"c-".$this->db->modelid."-".$r[id]));
    $r['views']=$get_db[views];
    $c_md=pc_base::load_model('category_model');
    $c_data = $c_md->get_one(array('catid'=>$r[catid]));
    $r['catname']=$c_data[catname];
    }
    //原文无此段落 原因:列表获得浏览次数=============================================
    /* 2013年4月
    *使用方法
    * {loop $data $r}
    * {$r[catname]}-{$r[title]}-{$r[views]}
    * {/loop}
    */
    //调用副表的数据
    if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
    $ids = array();
    foreach ($returnas$v) {
    if (isset($v['id']) && !emptyempty($v['id'])) {
    $ids[] = $v['id'];
    } else {
    continue;
    }
    }
    if (!emptyempty($ids)) {
    $this->db->table_name = $this->db->table_name.'_data';
    $ids = implode('','', $ids);
    $r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');
    if (!emptyempty($r)) {
    foreach ($ras$k=>$v) {
    if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
    }
    }
    }
    }
    return$return;
    }
    上面的函数代码里已经标注了新添加标签的函数代码,即23行至38行;
    ③前端页面模板调用代码的方法(示例)已经在上述函数代码里标明,我再重新说一下:
    代码如下:
    {loop $data$r}
    {$r[catname]}-{$r[title]}-{$r[views]}
    {/loop}
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/18 16:33:37