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

我们平时在列表页调用点击的时候都是在网上搜的这段代码:
  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];  
这样做当然可以方便的调用出来文章点击率,但是有一点就是太复杂了,压根记不住,所以为了精简代码,特别对list标签做个整改:

(1)找到文件phpcmsmodulescontentclassescontent_tag.class.php,找到代码:
  1. public function lists($data) { 
找到list方法的最后一行,在return $return;之前加入代码:
  1. /是否调用点击 
  2.         $siteids = getcache('category_content','commons'); 
  3.         if(!$siteids[$catid]) return false
  4.         $siteid = $siteids[$catid]; 
  5.         $CATEGORYS = getcache('category_content_'.$siteid,'commons'); 
  6.         if (isset($data['hits']) && intval($data['hits']) == 1){ 
  7.             $hits_db = pc_base::load_model("hits_model"); 
  8.             foreach ($return as $k => $r) { 
  9.                 $modelid = $CATEGORYS[$r['catid']]['modelid']; 
  10.                 $_r = $hits_db ->get_one(array('hitsid' => 'c-'.$modelid.'-'.$r[id])); 
  11.                 $return[$k]['views'] = $_r["views"]; 
  12.             } 
  13.         } 


这样前端就可以直接通过hits="1"调用,不写或者为0都表示不调用点击
  1. {pc:content action="lists" hits="1" catid="8" num="10" order="listorder DESC"
  2. {loop $data $r} 
  3. 点击:{$r[views]} 

(2)找到public function position($data) {方法在最后一行return $array;之前加入代码
  1. //是否调用点击 
  2.         $CATEGORYS = getcache('category_content_'.$siteid,'commons'); 
  3.         if (isset($data['hits']) && intval($data['hits']) == 1){ 
  4.             $hits_db = pc_base::load_model("hits_model"); 
  5.             foreach ($array as $k => $r) { 
  6.                 $modelid = $CATEGORYS[$r['catid']]['modelid']; 
  7.                 $_r = $hits_db ->get_one(array('hitsid' => 'c-'.$modelid.'-'.$r[id])); 
  8.                 $array[$k]['views'] = $_r["views"]; 
  9.             } 
  10.         } 

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

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





本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com