标题 | phpcms v9 全站文章点击排行榜标签 |
范文 | 我们在做内容站地时候,经常需要使用到文章排行榜,但phpcms默认地pc调用标签是需要具体栏目id地,那么如何调用全站文章地点击排行榜呢?官方不给方法,我们只好自己创造方法了.步骤如下: ①打开phpcmsmodulescontentclassescontent_tag.class.php文件; ②找个位置添加以下代码(首行时间可以自由修改,方便后期查询): 代码如下: /** 2013年4月23日 * sitehits站点点击排行 * @param $data */ function sitehits($data){ if(emptyempty($data['siteid'])) return false; $siteid = intval($data['siteid']); $this->hits_db = pc_base::load_model('hits_model'); $category_content = getcache('category_content','commons'); $catid = ''; //获取站点下所有栏目id foreach($category_contentas$key=>$val){ if($val==$siteid){ $catid .= $comma.$key; $comma=','; } } //获取点击排行 $r = $this->hits_db->select('catid in('.$catid.')','hitsid',$data['limit'],$data['order']); $return = array(); $sitemodel_model_db = pc_base::load_model('sitemodel_model'); $this->db_config = pc_base::load_config('database'); $tablepre = $this->db_config['default']['tablepre']; foreach($ras$key){ preg_match_all('/-(d+)-/',$key['hitsid'],$modelid); $id = substr($key['hitsid'],(strpos($key['hitsid'],'-',2)+1)); $tablename = $sitemodel_model_db->get_one(array('modelid'=>$modelid[1][0]),'tablename'); $this->db->table_name = $tablepre.$tablename['tablename']; $return[] = array_merge($return,$this->db->get_one(array('id'=>$id))); } return$return; } ③备份文件,以防后期pc程序升级时被覆盖; ④前端页面模板调用方法(示例): 代码如下: {pc:content action=sitehits siteid=4 num=10 order=views desc cache=3600} {loop $data$r} {$r[url]} target=_blank>{$r[title]} {/loop} {/pc} |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。