新聞中心
PHPCMS程序刪除文章后數(shù)據(jù)庫中仍有保存的文章中的關(guān)鍵詞怎么辦?
作者 / 無憂主機 時間 2016-01-11 14:03:24
使用過phpcms這款程序建站的朋友們應(yīng)該知道這款開源程序自身也是有bug的,在使用中也是要不停的調(diào)試才可以。小編之前在自己的php免備案空間中調(diào)試也是遇到了很多類似的問題,還好官方論壇都是有提供的解決方法的。今天有位站長朋友也是在無憂購買了一款香港獨立IP空間安裝這款開源程序,安裝好了開始測試的時候發(fā)現(xiàn)之前發(fā)布的文章刪除了之后,數(shù)據(jù)庫的表字段中還是保存的有之前的文章中的關(guān)鍵詞的,也就是刪除文章并不能連帶之前發(fā)布的文章的關(guān)鍵詞一起刪除,小編經(jīng)過分析明白了,原來這款程序比較特殊,在發(fā)布文章的那一刻文章就自動保存在了數(shù)據(jù)庫的表中了,或者修改文章后,會重復(fù)在v9_keyword_data插入數(shù)據(jù)。那么該如何才可以再刪除文章的那一刻可以自動刪除數(shù)據(jù)庫中的關(guān)鍵詞呢? 第一步連接FTP,在/phpcms/modules/content/fields/keyword/updata.inc.php中找到以下代碼:
$keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid));將其修改為以下代碼:
if (!$keyword_data_db->get_one(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid))) { $keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid)); }修改好了之后保存上傳覆蓋之前的程序文件就行了。 第二步:按照路徑在/phpcms/modules/content/content.php找到: delete函數(shù)在前面添加以下代碼:
//刪除關(guān)鍵字 $this->keyword_db = pc_base::load_model('keyword_model'); $this->keyword_data_db = pc_base::load_model('keyword_data_model'); $keyword_temp=$this->keyword_data_db->listinfo(array('contentid'=>$id.'-'.$modelid)); $this->keyword_data_db->delete(array('contentid'=>$id.'-'.$modelid)); foreach($keyword_temp as $one){ $same_keyword=$this->keyword_data_db->listinfo(array('tagid'=>$one[tagid])); if(empty($same_keyword)){ $this->keyword_db->delete(array('id'=>$one[tagid])); } }添加好了之后也是上傳覆蓋之前的文件,然后登陸網(wǎng)站后臺更新下網(wǎng)站緩存。這個時候再發(fā)布一篇文章,然后再刪除就可以徹底刪除數(shù)據(jù)庫中的關(guān)鍵詞了。以上方法就是關(guān)于phpcms程序刪除文章后數(shù)據(jù)庫中仍有保存的文章中的關(guān)鍵詞的解決方法了。 無憂主機相關(guān)文章推薦閱讀: PHPCMS程序如何取消后臺登陸后的提示消息呢 PHPCMS程序如何添加一個二維碼生成函數(shù)的方法 PHPCMS程序如何通過修改代碼實現(xiàn)去除網(wǎng)站后臺公告呢
本文地址:http://www.gle-technology.com/phpcms/21344.html