织梦二次开发

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 680|回复: 0

[共用功能] 织梦“增加文档关键词”功能分析教程

[复制链接]

1046

主题

1109

帖子

5334

积分

超级版主

Rank: 8Rank: 8

金币
256
贡献
3959
发表于 2015-11-15 10:57:44 | 显示全部楼层 |阅读模式
  织梦系统dedecms的“增加文档关键词”功能指的是如下图所示:

增加文档关键词

增加文档关键词


  如果你研究过织梦其它复杂的功能代码的话,对于这个功能来说,就太简单了,这个功能其实就是设计一个form表单,然后,把这里面的数据插入到数据库表#@__keywords里面,这个表如下所示:

文档关键词表

文档关键词表


  没有错就这么简单,这个表单在织梦模板文件article_keywords_main.htm里面,如下所示:

增加文档关键词表单

增加文档关键词表单


  把数据插入到数据库表#@__keywords的处理文件是article_keywords_main.php,处理代码,也就是else if($dopost=='add')条件里面的代码如下所示:

增加文档关键词代码

增加文档关键词代码


代码分析开始:


  1. 获取返回的url,这里通过从cookie获取这个url:
  1. $ENV_GOBACK_URL = empty($_COOKIE['ENV_GOBACK_URL']) ? "-1" : $_COOKIE['ENV_GOBACK_URL'];
复制代码


  2. 关键词和频率的处理,这里比较简单,不用多解释:

关键词和频率初始化处理

关键词和频率初始化处理


  3. 接下来是不是就要把数据库插入到数据库里面?但是,有一个问题是,如果你插入的关键词,在数据库已经存在了,这样就会重复了,这是不允许的,所以,现在还不能直接把数据插入到数据库里面,需要先判断一下要插入的关键词$keyword是不是已经在表#@__keywords里面了。

  查询与这个关键词一样的资料:
  1. $row = $dsql->GetOne("SELECT * FROM `#@__keywords` WHERE keyword LIKE '$keyword'");
复制代码


  然后,判断一下是不查询出来了,如果查询的$row是一个数组,说明有这个关键词,提示已经有这个关键词了,退出程序,不让你插入这个关键词:
  1.     if(is_array($row))
  2.     {
  3.         ShowMsg("关键字已存在库中!","-1");
  4.         exit();
  5.     }
复制代码


  
  4. 现在就可以直接把数据插入到数据库里面了,代码如下:

插入数据库表数据

插入数据库表数据


  最后,不要忘记写退出程序:
  1. exit();
复制代码


  这个功能就这么简单,其实,织梦系统dedecms里面有很多类似的功能,虽然,有的看上去非常复杂,但是,细细分析一下你会发现其实比较简单。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|织梦二次开发

GMT+8, 2019-9-17 21:07 , Processed in 0.231853 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表