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}
相關文章
相關標籤/搜索