首页 >php教程 >php手册 > 正文

phpcms V9 二次开发------(获取点击数详解)

原创2016-10-22 00:00:070590
关于phpcms V9的点击数的使用应该有不少数是直接调用网上搜索到的代码,但是对于一些想要深入研究开发的人来说,看到网上的代码后更是不解,本人这几天看了看,了解了一些东西,在这里写出来分享一下,首先先了解一下基础知识

pc_base::load_model(‘*_model’) 加载数据库模型 
pc_base::load_sys_class(‘classname’) 实例化系统类
pc_base::load_app_class(‘classname’,’admin’) 实例化模块类
pc_base::load_sys_func (‘funcfile’) 调用系统函数库
以上是调用模型和实例化对象的四种方法
pc_base::load_model(‘*_model’) 对应加载 根目录\phpcms\model 下面的类文件
pc_base::load_sys_class(‘classname’) 对应加载 根目录\phpcms\libs\classes 下面的文件
pc_base::load_app_class(‘classname’,’admin’) 对应加载 根目录\phpcms\modules\admin\classes 下面的文件
pc_base::load_sys_func (‘funcfile’) 对应加载 根目录\phpcms\libs\functions\
下面讲解一个获取点击数的实例
1 {pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page" moreinfo="1"}
2 {loop $data $r}
3 {php $db = pc_base::load_model('hits_model');   $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; }
4 {php $comment_tag = pc_base::load_app_class("comment_tag", "comment"); $comment_total = $comment_tag->count(array('commentid'=>'content_'.$catid.'-'.$r[id].'-'.$modelid));}
5 
  • class="rt">{date('Y-m-d H:i:s',$r[inputtime])}·"{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]} 点击:{$views} 评论数:{if $comment_total}{$comment_total}{else}0{/if}
  • {/loop} 6 {$pages} 7 {/pc}

    其中的第3行是获取点击数的方法我们单独着重解说:

    $db = pc_base::load_model('hits_model')  
    

    实例化对象为 $db,加载实例化类hit_model,该类的位置在 根目录\phpcms\model\hit_model.class.php文件中

    class hits_model extends model {
        public $table_name = '';
        public function __construct() {
            $this->db_config = pc_base::load_config('database');
            $this->db_setting = 'default';
            $this->table_name = 'hits';
            parent::__construct();
        }
    }
    该类文件加载继承了model类文件并且继承了其内部的方法,所以下面调用get_one()方法
    $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])) 调用$db对象中的get_one方法该方法位于hits_model继承的model类中代码如下
    final public function get_one($where = '', $data = '*', $order = '', $group = '') {
            if (is_array($where)) $where = $this->sqls($where);
            return $this->db->get_one($data, $this->table_name, $where, $order, $group);
        }

    get_one(arr('hitsid'=>'c-'.$modelid.'-'.$r[id]))方法中传递的数组为数据表v9_hits中的字段的值,其 hits 表的结构如下

    此时的$_r为该表中的一条数据 数据表中的字段 views 即为该篇文章的点击次数 所以使用 $_r[views]即可获取点击数啦!!!

    注:hitsid 字段的数据 c-1-2 中 1表示当前模型id 2表示当前文章的id

      

    php中文网最新课程二维码

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

    相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    php中文网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类