织梦二次开发

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

[共用功能] 织梦“自由列表搜索”功能分析教程

[复制链接]

1046

主题

1109

帖子

5334

积分

超级版主

Rank: 8Rank: 8

金币
256
贡献
3959
发表于 2015-11-7 14:04:14 | 显示全部楼层 |阅读模式
  自由列表搜索功能指的是如下图所示搜索功能:

自由列表搜索功能

自由列表搜索功能


  这个功能其实跟点击左边的菜单“自由列表管理”显示右边的内容的功能几乎是一样的,是的,你没有看错,一个搜索怎么可能跟一个显示自由列表内容几乎一样呢?我们来研究一下处理这个搜索功能的代码。这个搜索功能是通过在模板文件freelist_main.htm里面的表单,如下图所示:

自由列表搜索功能代码

自由列表搜索功能代码


  提交这个表单后,通过文件freelist_main.php来获取提交过来的关键词,然后,执行下面的代码:

处理关键词

处理关键词


  在这段代码里面最重要的一行代码就是组装sql条件语句:
  1. $addsql = " where title like '%$keyword%' ";
复制代码


  这行代码的作用就是在数据库自由表中查询标题为%$keyword%的自由列表内容,然后,通过下面的这个条件:

引入模板搜索

引入模板搜索


  引入模板freelist_main.htm,其实,这个织梦模板在一点击“自由列表管理”后就已经调用上面的这段代码了,当提交搜索查询时,再次调用这段代码,再次引入这个模板文件,然后,再次调用模板里面的这下面这段代码:

自由列表管理

自由列表管理


  在这段代码里面,再次调用函数GetTagList($dsql,$pageno,$pagesize,$orderby),请注意,此时,调用这个函数后,在这个函数里面的sql语句:
  1. $dsql->SetQuery("Select aid,title,templet,click,edtime,namerule,listdir,defaultpage,nodefault From #@__freelist $addsql order by $orderby desc limit $start,$pagesize ");
复制代码


  比第一次载入后,多了一个条件查询$addsql,而这个查询是搜索功能的条件,所以,此时,将列出自由列表搜索的关键词的自由列表内容,也就是我们看到的搜索结果内容。

  这个小小的功能实现起来比较简单,这对于我们日后进行织梦二次开发有又提供了一种搜索功能开发的方法。其实,这个功能跟织梦模板引擎类实现搜索功能非常相似。
回复

使用道具 举报

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

本版积分规则

QQ|织梦二次开发

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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