zoukankan      html  css  js  c++  java
  • 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字段值了.
  • 相关阅读:
    NSUserDefaults写作和阅读对象定义自己
    JavaScript三在弹出的对话框中
    mybatis02 架构
    mybatis01
    oracle17 视图
    oracle16 例外
    oracle15 pl/sql 分页
    oracle14 复杂数据类型
    oracle13 触发器 变量
    oracle12 pl/sql
  • 原文地址:https://www.cnblogs.com/500m/p/13253315.html
Copyright © 2011-2022 走看看