Phpcms V9調用熱門TAG要使用Get SQL語句,調用tag數據庫,loop循環輸出;但V9版本的PHPCMS默認沒有完善tag功能,必須下載一個插件;
插件如下:
http://files.cnblogs.com/xltf/phpcms_tag.rar
首先將壓縮包解壓以后將phpcms文件夾放到根目錄覆蓋原來的文件夾(其實所有的文件都是新建的)
然后打開phpcms/model/content_model.class.php 找到
if(!$isimport && $data['status']==99) {
在他的上面添加如下代碼
// 添加到tags 表開始 if($systeminfo['keywords']){ $this->db_tags = pc_base::load_model('tags_model'); //$this->db_tags_content = pc_base::load_model('tags_content_model'); $keywords = strpos($systeminfo['keywords'], ',') !== false ? explode(',', $systeminfo['keywords']) : explode(' ', $systeminfo['keywords']); $sql = ''; foreach($keywords as $key){ if($this->db_tags->get_one("`tag`='$key'", 'tagid')){ $this->db_tags->query("UPDATE `phpcms_tags` SET `usetimes`=usetimes+1 WHERE tag='$key'"); }else{ $this->db_tags->query("INSERT INTO `phpcms_tags`(`tag`,`usetimes`,`lastusetime`,`lasthittime`)VALUES('$key',1,".SYS_TIME.",".SYS_TIME.")"); } $sql .= ",('$key','$urls[0]','$systeminfo[title]',$this->siteid,$modelid,$id,$systeminfo[catid],".SYS_TIME.")\n"; } if($sql){ $sql = "INSERT INTO `phpcms_tags_content` (`tag`,`url`,`title`,`siteid`,`modelid`,`contentid`,`catid`,`updatetime`) VALUES ".substr($sql, 1); $this->db_tags->query($sql); } } // 添加到 tags 表結束
找到下面的
$this->content_check_db->update($check_data,array('checkid'=>'c-'.$id.'-'.$this->modelid));
在他的下面添加如下代碼
// 添加到tags 表開始 if($systeminfo['keywords']){ $this->db_tags = pc_base::load_model('tags_model'); $this->db_tags_content = pc_base::load_model('tags_content_model'); $keywords = strpos($systeminfo['keywords'], ',') !== false ? explode(',', $systeminfo['keywords']) : explode(' ', $systeminfo['keywords']); $sql = ''; foreach($keywords as $key){ if(!$this->db_tags_content->get_one("`tag`='$key' AND `contentid` = $id AND `catid` =$systeminfo[catid] ", 'contentid')){ if($this->db_tags->get_one("`tag`='$key'", 'tagid')){ $this->db_tags->query("UPDATE `phpcms_tags` SET `usetimes`=usetimes+1 WHERE tag='$key'"); }else{ $this->db_tags->query("INSERT INTO `phpcms_tags`(`tag`,`usetimes`,`lastusetime`,`lasthittime`)VALUES('$key',1,".SYS_TIME.",".SYS_TIME.")"); } $sql .= ",('$key','$urls[0]','$systeminfo[title]',$this->siteid,$this->modelid,$id,$systeminfo[catid],".SYS_TIME.")\n"; } } if($sql){ $sql = "INSERT INTO `phpcms_tags_content` (`tag`,`url`,`title`,`siteid`,`modelid`,`contentid`,`catid`,`updatetime`) VALUES ".substr($sql, 1); $this->db_tags->query($sql); } } // 添加到 tags 表結束
然后進入后台管理模塊;可以看到TAG標簽模塊;點安裝;再重建引索即可
(我這里已經安裝,所以顯示的是卸載)
最后再使用Get SQL語句就可以把熱門標簽調用出來了;
{pc:get sql="SELECT tag,hits FROM v9_tags order by hits desc" num="8"} <h2>熱門標簽</h2> {loop $data $r} <a href="{APP_PATH}index.php?m=search&c=index&a=init&typeid=1&q={$r[tag]}&time=all">{$r[tag]}</a>| {/loop} {/pc}