织梦二次开发

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

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

[复制链接]

1046

主题

1109

帖子

5334

积分

超级版主

Rank: 8Rank: 8

金币
256
贡献
3959
发表于 2015-11-15 10:34:04 | 显示全部楼层 |阅读模式
本帖最后由 dedebase 于 2015-11-15 10:37 编辑

  织梦系统dedecms的“文档关键词维护”功能指的是如下图所示:

文档关键词维护

文档关键词维护


  如何添加关键词,如何分析系统内的关键字功能的使用我们在教程“文档关键词提高网站排名”教程已经介绍了,本教程将分析这个功能是如何实现显示上图中的界面的,也就是当我们点击“文档关键词维护”后,右边是如何实现显示的。

  从上图我们可以看出右边的功能就是三个form表单,如果写个表单相信会html的都会写出来,所以,右边功能搜索功能、新增关键字功能只是两个静态的html代码表单,而下面的列出添加的关键词才是本教程重点,列出添加的关键词表单实际上就是从数据库表里面查询出数据,然后,显示出来,要实现这个功能离不开织梦分页类。

  经过上面的分析我们就能推测出,肯定有一个织梦模板文件,还有一个查询数据库表的php文件。

代码分析开始:


  上面的功能是通过文件article_keywords_main.php和article_keywords_main.htm文件来实现的,其中,模板文件是定义了三个表单,我们先看一下这个模板文件,如下图所示:

三个表单

三个表单


  这三个表单分别是form1、form2和form3。

  列出添加的文档关键词是通过织梦标签{dede:datalist}...{/dede:datalist}来实现的,如下图所示:

列出数据

列出数据


  分页是通过标签{dede:pagelist listsize=3/}来实现,这个有点类似前台的模板分页标签。

  我们再来看一下文件article_keywords_main.php文件,打开文件,为了方便研究代码,我把本教程功能用不到的代码折叠了一下,下面的在红框内的就是列出添加的文档关键词的功能代码,如下图所示:

文档关键词处理

文档关键词处理

  从上面我们可以看出,我们添加的文档关键词是放在了关键词表#@__keywords里面,截取这个数据库表一部分如下图所示:

文档关键词表

文档关键词表


  从上图可以看出,我们后台增加的文档关键词都存放在这个表里面。

  在这个功能里面设置sql查询语句,并实例化了分页类:

  1. $sql = "SELECT * FROM `#@__keywords` $addquery ORDER BY rank DESC";
  2. $dlist = new DataListCP();
复制代码


  然后,设置分页大小,并设置参数,这个参数是生成分页用的,然后,引入模板文件,执行sql查询,最后,显示右边内容:

  1. $dlist->pageSize = 20;
  2. $dlist->SetParameter("keyword",$keyword);
  3. $dlist->SetTemplate(DEDEADMIN."/templets/article_keywords_main.htm");
  4. $dlist->SetSource($sql);
  5. $dlist->Display();
复制代码



  这样右边就列出来内容了,可以说这个功能就是这个分页类实现的,其实,这个分页类最终还是使用了织梦模板引擎。

  这里面还定义了一个小函数:

  1. function GetSta($sta)
  2. {
  3.     if($sta==1) return '';
  4.     else return ' checked="1" ';
  5. }
复制代码


  这个函数在模板里面的使用{dede:field.sta function="GetSta(@me)"/},这个是通过sta的值来判断是不是选中状态,这个在本功能里面用在“禁用”功能后面。
回复

使用道具 举报

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

本版积分规则

QQ|织梦二次开发

GMT+8, 2019-9-17 20:51 , Processed in 0.230625 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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