• phpcms


    在使用phpcms程序制作网站的时候,我们会发现文章模型新建一篇文章后会自动向数据库中插入关键词,但如果删除文章后,数据库中的关键词表中字段中还存在之前文章的关键词,那么怎样才能在phpcms后台中删除文章后自动删除添加的tag关键词呢?

     

    一,首先在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 文件:

    找到代码:
    /**
    * 删除
    */
    public function delete() {
     
    在代码下方添加如下代码,位置下图有:
     
    $this->keyword_db = pc_base::load_model('keyword_model');
    $this->keyword_data_db = pc_base::load_model('keyword_data_model');
    $keyword_all=$this->keyword_data_db->listinfo(array('contentid'=>$id.'-'.$modelid));
    $this->keyword_data_db->delete(array('contentid'=>$id.'-'.$modelid));
    foreach($keyword_all as $keyword_a){
    $same_keyword=$this->keyword_data_db->listinfo(array('tagid'=>$keyword_a[tagid]));
    if(empty($same_keyword)){
    $this->keyword_db->delete(array('id'=>$keyword_a[tagid]));
    }
    }
     
    修改完成后保存即可,在网站后台中更新网站所有缓存后就可以在删除文章的时候自动删除数据表中添加文章时的tag字段值了.
  • 相关阅读:
    解决FileReader读取文件乱码问题
    comparable 与 comparator
    JavaScript添加水印
    mybatis里oracle与MySQL的insert_update
    关于回车换行
    solr创建collection
    hbase相关配置说明
    java基础(十一)--- IO
    java基础(十)--- 异常
    c++中的vector原理
  • 原文地址:https://www.cnblogs.com/500m/p/13253315.html
Copyright © 2020-2023  润新知