在发布文章的那一刻文章就自动保存在了数据库的表中了,或者修改文章后,会重复在v9_keyword_data插入数据。那么该如何才可以再删除文章的那一刻可以自动删除数据库中的关键词呢?
在/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函数在前面添加以下代码:
//删除关键字
$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])); } }
添加好了之后也是上传覆盖之前的文件,然后登陆网站后台更新下网站缓存。这个时候再发布一篇文章,然后再删除就可以彻底删除数据库中的关键词了。以上方法就是关于phpcms程序删除文章后数据库中仍有保存的文章中的关键词的解决方法了。