• 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字段值了.
  • 相关阅读:
    学习自建调试体系(二)
    寻找未导出函数的函数地址
    Http
    git忽略.gitignore
    Flask-sqlacodegen
    liunx速查
    BBS论坛项目
    vim操作
    部署
    python3 环境搭建
  • 原文地址:https://www.cnblogs.com/500m/p/13253315.html
Copyright © 2020-2023  润新知