新闻中心

PHPCMS程序删除文章后数据库中仍有保存的文章中的关键词怎么办?

作者 / 无忧主机 时间 2016-01-11 14:03:24

使用过phpcms这款程序建站的朋友们应该知道这款开源程序自身也是有bug的,在使用中也是要不停的调试才可以。小编之前在自己的php免备案空间中调试也是遇到了很多类似的问题,还好官方论坛都是有提供的解决方法的。今天有位站长朋友也是在无忧购买了一款香港独立IP空间安装这款开源程序,安装好了开始测试的时候发现之前发布的文章删除了之后,数据库的表字段中还是保存的有之前的文章中的关键词的,也就是删除文章并不能连带之前发布的文章的关键词一起删除,小编经过分析明白了,原来这款程序比较特殊,在发布文章的那一刻文章就自动保存在了数据库的表中了,或者修改文章后,会重复在v9_keyword_data插入数据。那么该如何才可以再删除文章的那一刻可以自动删除数据库中的关键词呢? 第一步连接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函数在前面添加以下代码:
//删除关键字
$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程序删除文章后数据库中仍有保存的文章中的关键词的解决方法了。 无忧主机相关文章推荐阅读: PHPCMS程序如何取消后台登陆后的提示消息呢 PHPCMS程序如何添加一个二维码生成函数的方法 PHPCMS程序如何通过修改代码实现去除网站后台公告呢

本文地址:https://www.51php.com/phpcms/21344.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服