phpcms V9修改lists标签(实现调用文章所属栏目及点击数)

phpcms中默认首页是无法调用出文章的点击数,而调用文章所属的栏目名称也很复杂,需要先使用php语句进行数据缓存后才能调用。其实我们可以一步到位,自己添加函数来实现在首页/频道页/列表页调用文章点击数及文章所属栏目名称。
 
实现步骤:
①打开\phpcms\modules\content\classes\content_tag.class.php文件;
②搜索“列表页标签”,即lists标签函数,应该在文件的56行左右,把lists标签函数的整段调用代码修改如下:
/** 
* 列表页标签 
* @param $data
* @编辑:www.jbxue.com 
*/
publicfunction lists($data) { 
$catid = intval($data['catid']); 
if(!$this->set_modelid($catid)) return false; 
if(isset($data['where'])) { 
$sql = $data['where']; 
} else { 
$thumb = intval($data['thumb']) ? " AND thumb != ''" : ''; 
if($this->category[$catid]['child']) { 
$catids_str = $this->category[$catid]['arrchildid']; 
$pos = strpos($catids_str,',')+1; 
$catids_str = substr($catids_str, $pos); 
$sql = "status=99 AND catid IN ($catids_str)".$thumb; 
} else { 
$sql = "status=99 AND catid='$catid'".$thumb; 
} 
} 
$order = $data['order']; 
$return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id'); 
//二次开发
foreach($returnas &$r){ 
$h_md=pc_base::load_model('hits_model'); 
$get_db=$h_md->get_one(array('hitsid'=>"c-".$this->db->modelid."-".$r[id])); 
$r['views']=$get_db[views]; 
$c_md=pc_base::load_model('category_model'); 
$c_data = $c_md->get_one(array('catid'=>$r[catid])); 
$r['catname']=$c_data[catname]; 
} 
//原文无此段落 原因:列表获得浏览次数== 
/* 2013年4月 
*使用方法 
* {loop $data $r} 
* {$r[catname]}-{$r[title]}-{$r[views]} 
* {/loop} 
*/
//调用副表的数据 
if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) { 
$ids = array(); 
foreach ($returnas$v) { 
if (isset($v['id']) && !emptyempty($v['id'])) { 
$ids[] = $v['id']; 
} else { 
continue; 
} 
} 
if (!emptyempty($ids)) { 
$this->db->table_name = $this->db->table_name.'_data'; 
$ids = implode('\',\'', $ids); 
$r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id'); 
if (!emptyempty($r)) { 
foreach ($ras$k=>$v) { 
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]); 
} 
} 
} 
} 
return$return; 
}
以上函数中标注了新添加标签的函数代码,即23行至38行;
③前端页面模板调用代码的方法(示例)已经在上述函数代码里标明,我再重新说一下:
{loop $data$r}
{$r[catname]}-{$r[title]}-{$r[views]}
{/loop}

转载于:https://my.oschina.net/softsky/blog/155431

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值