拿到点击数详解,phpcms中常用代码总括

By admin in 4858.com on 2019年2月12日

有关phpcms
V9的点击数的行使相应有不少数是直接调用网上查找到的代码,不过对于部分想要长远钻研开发的人的话,看到网上的代码后尤为不解,自己这几天看了看,了然了有些事物,在此地写出来分享一下,首先先领悟一下基础知识

关于phpcms
V9的点击数的接纳相应有不少数是直接调用网上搜索到的代码,但是对于一些想要深刻钻研开发的人的话,看到网上的代码后一发不解,本人这几天看了看,驾驭了有些东西,在那边写出来分享一下,首先先通晓一下基础知识

见惯不惊有情人寻常问Phpcms
v9的首页、列表页、内容页点击量怎么样调用。将来就给大家分享phpcms
V9怎样分别在首页、列表页、内容页调用点击量代码:

  1. 1.调用数据库模型  
  2. $this->db = pc_拿到点击数详解,phpcms中常用代码总括。base::load_model(‘test_model’);//从”phpcms/model/”目录下加载模型类公事  
  3. 内部$this->db中所援救的章程请参见phpcms/libs/classes/model.class.php中艺术  
  4. 2.加载系列类  
  5. $http = pc_base::load_sys_class(‘http’); //实例化http类  
  6. pc_base::load_sys_class(‘format’, ”, 0); //调用form类,不进行实例化操作3.加载系统函  
  7. 3.加载系统函数库  
  8. pc_base::load_sys_func(‘mail’); 调用mail函数包  
  9. 4. 加载模块类  
  10. $test = pc_base::load_app_class(‘classname‘,’test’); //实例化test模块下 classname类  
  11. 5.加载模块函数库  
  12. pc_base::load_app_func(‘global‘,’test’); 调用test模块的global函数包  
  13.  特点:load_sys_class():从    “phpcms/libs/classes/”   加载类库文件  
  14.             load_sys_func():从    “phpcms/libs/functions/”   加载函数库文件  
  15.             load_app_class():从  “phpcms/modules/模块名/classes/”  加载模块类库文件  
  16.             load_app_func():从  “phpcms/modules/模块名/functions/”  加载模块函数库文件  
  17. 6.加载前台模板  
  18. include template(‘test’, ‘mytest’, ‘default’);  
  19. 7.加载后台模板  
  20. include $this->admin_tpl(‘mytest_admin_list’);  
  21. 8.权限控制  
  22. 后台控制控制器须要加载admin模块下的admin类,并继承该类  
  23. <?php                  
  24.    defined(‘IN_PHPCMS’) or exit(‘No permission resources.’);                  
  25.    pc_base::load_app_class(‘admin’,’admin’,0);//加载admin模块下的admin类库                  
  26.    class mytest_admin extends admin {   
  27.                 //那个控制器需求登录后台才足以访问                  
  28.    }  
  29. ?> 
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’) 加载数据库模型 
pc_base::load_sys_class(‘classname’) 实例化系统类
pc_base::load_app_class(‘classname’,’admin’) 实例化模块类
pc_base::load_sys_func (‘funcfile’) 调用系统函数库
  1. Phpcms v9首页调用点击量
    {pc:content action=”lists” catid=”$r[catid]” num=”5″ order=”id DESC”
    return=”info”}
      {php $categorys =
    getcache(‘category_content_’.$siteid,’commons’);}
      <ul class=”list lh24 f14″>
      {loop $info $v}
      {php $category = $categorys[$v[catid]];}
      {php $modelid = $category[‘modelid’];}
      {php $db = pc_base::load_model(‘hits_model’); $_r =
    $db->get_one(array(‘hitsid’=>’c-‘.$modelid.’-‘.$v[id])); $views
    = $_r[views]; }
      {php $comment_tag = pc_base::load_app_class(“comment_tag”,
    “comment”); $comment_total =
    $comment_tag->count(array(‘commentid’=>’content_’.$v[catid].’-‘.$v[id].’-‘.$modelid));}
      <li>·<a href=”{$v[‘url’]}” target=”_blank”
    title=”{$v[‘title’]}”{title_style($v[style])}>{str_cut($v[‘title’],40)}</a>
    点击:{$views} 评论:{if
    $comment_total}{$comment_total}{else}0{/if}</li>
      {/loop}
      </ul>
      {/pc}
  2. Phpcms v9列表页调取点击量
    {php $db = pc_base::load_model(‘hits_model’); $_r =
    $db->get_one(array(‘hitsid’=>’c-’.$modelid.’-’.$r[id])); $views
    = $_r[views]; }
    点击:{$views}
  3.  Phpcms v9内容页调取点击量
    <script type=”text/javascript”
    src=”{JS_PATH}jquery.min.js”></script>
      </span><span id=”hits”><script language=”JavaScript”
    src=”{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}”></script></span> 

上述是调用模型和实例化对象的五种方式

如上是调用模型和实例化对象的多种办法

 

  pc_base::load_model(‘*_model’) 对应加载 根目录\phpcms\model
下边的类公事

  pc_base::load_model(‘*_model’) 对应加载 根目录\phpcms\model
上面的类公事

 

  pc_base::load_sys_class(‘classname’) 对应加载 根目录\phpcms\libs\classes
下边的文书

  pc_base::load_sys_class(‘classname’) 对应加载 根目录\phpcms\libs\classes
下边的文件

 

  pc_base::load_app_class(‘classname’,’admin’) 对应加载
根目录\phpcms\modules\admin\classes
上边的文件

  pc_base::load_app_class(‘classname’,’admin’) 对应加载
根目录\phpcms\modules\admin\classes
上边的文书

其它:

  pc_base::load_sys_func (‘funcfile’) 对应加载
根目录\phpcms\libs\functions\

  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 <li>{date('Y-m-d H:i:s',$r[inputtime])}·<a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a> 点击:{$views} 评论数:{if $comment_total}{$comment_total}{else}0{/if}</li>{/loop}
6 {$pages}
7 {/pc}
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 <li>{date('Y-m-d H:i:s',$r[inputtime])}·<a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a> 点击:{$views} 评论数:{if $comment_total}{$comment_total}{else}0{/if}</li>{/loop}
6 {$pages}
7 {/pc}

个中的第3行是获取点击数的点子我们单独敬重演说:

里头的第3行是得到点击数的措施大家单独保护演讲:

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

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

实例化对象为 $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();
    }
}
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()方法

此类文件加载继承了model类文件同时一而再了其里面的办法,所以上面调用get_one()方法

 

 

$_r = $db->get_one(array(‘hitsid’=>’c-‘.$modelid.’-‘.$r[id]))
调用$db对象中的get_one方法该措施位于hits_model继承的model类中代码如下

$_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);
    }
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
表的社团如下

get_one(arr(‘hitsid’=>’c-‘.$modelid.’-‘.$r[id]))方法中传递的数组为数量表v9_hits中的字段的值,其 hits
表的布局如下

4858.com 1

4858.com 2

此时的$_r为该表中的一条数据 数据表中的字段 views 即为该篇作品的点击次数
所以使用 $_r[views]即可拿到点击数啦!!!

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

 注:hitsid 字段的数目 c-1-2 中 1表示近期模型id 2表示近日小说的id

 注:hitsid 字段的多寡 c-1-2 中 1表示近来模型id 2表示近来小说的id

 

 

 

 

4858.com, 

 

4858.com 3

4858.com 4

  

  

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有