phpcms给列表页添加调用点击次数标签hits=“1“

论坛 期权论坛 脚本     
匿名技术用户   2021-1-16 03:37   440   0

我们平时在列表页调用点击的时候都是在网上搜的这段代码:

  1. {php
  2. $db = pc_base::load_model('hits_model');
  3. $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id]));
  4. $views = $_r[views];
  5. }

这样做当然可以方便的调用出来文章点击率,但是有一点就是太复杂了,压根记不住,所以为了精简代码,特别对list标签做个整改:

(1)找到文件phpcms\modules\content\classes\content_tap.class.php,找到代码:

  1. public function lists($data) {

找到list方法的最后一行,在return $return;之前加入代码:

  1. //是否调用点击
  2. if (isset($data['hits']) && intval($data['hits']) == 1){
  3. $hits_db = pc_base::load_model("hits_model");
  4. foreach ($return as $k => $r) {
  5. $modelid = $this->set_modelid($r['catid']);
  6. $_r = $hits_db ->get_one(array('hitsid' => 'c-'.$modelid.'-'.$r[id]));
  7. $return[$k]['views'] = $_r["views"];
  8. }
  9. }


这样前端就可以直接通过hits="1"调用,不写或者为0都表示不调用点击

  1. {pc:content action="lists" catid="8" num="10" order="listorder DESC"}
  2. {loop $data $r}
  3. 点击:{$r[views]}


(2)找到public function position($data) {方法在最后一行return $array;之前加入代码

  1. /是否调用点击
  2. if (isset($data['hits']) && intval($data['hits']) == 1){
  3. $hits_db = pc_base::load_model("hits_model");
  4. foreach ($array as $k => $r) {
  5. $modelid = $this->set_modelid($r['catid']);
  6. $_r = $hits_db ->get_one(array('hitsid' => 'c-'.$modelid.'-'.$r[id]));
  7. $array[$k]['views'] = $_r["views"];
  8. }
  9. }


这样就可以在推荐位列表中通过hits="1"直接调用点击了,

这么一改再也不用担心记不住调用点击的代码了


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP