|
主题:[分享]利用KesionCMS,手把手教你写万能搜索系统 [收藏主题] | 转到: |
很多科汛fans已对系统自带的的简单搜索感谢不满足了,比如做人才网的用户希望能根据职位类型,工作地点,关键字等进行精确搜索,这时如果用KesionCMS自带搜索标签显然不符合要求.很幸运KesionCMS是完全开源的.您完全可以自由的DIY搜索.这里我就大家举个例子说明吧。
假设我们利用科汛强大的自定义模型自定义了一个叫"人才招聘"的系统,模型ID号为110,基类型(文章类).里面含有自定义字段包括:职位类型(KS_ZWLX),工作地点(KS_GZD),学历要求(KS_XL)等等,那么我们需要按照KS_ZWLX,KS_GZD这两个字段进行搜索.实现如下图效果:
根据以上分析.我们就可以在模板里写出搜索表单 代码如下
<table border=0> <form name="searchform" action="/plus/search.asp" method="get"> <input type="hidden" name="channelid" value="110"> <input type="hidden" name="searchtype" value="1"> <tr> <td> <select name="KS_ZWLX"> <option value="">选择行业类别</option> <option value="计算机硬件及网络设备">计算机硬件及网络设备</option> <option value="计算机软件">计算机软件</option> <option value="IT服务(系统/数据/维护)/多领域经营">IT服务(系统/数据/维护)/多领域经营</option> </select> </td> </tr> <tr> <td> <select name="KS_GZD"> <option value="">选择工作地区(必选)</option> <option value="北京">北京</option> <option value="上海">上海</option> <option value="广东省">广东省</option> <option value="天津">天津</option> </select> </td> </tr> <tr> <td> <input type="text" name="keyword" value="请输入职位或公司名称" onclick="this.value=''"> </td> </tr> <tr> <td> <inpu type="submit" value="搜索职位"> </td> </tr> </form> </table>
自写表单代码说明: 1、表单处理文件/plus/search.asp 2、必须提交的字段ChannelID(模型ID),SearchType(搜索类型),KeyWord(搜索关键字) channelid 模型的ID号,可以后台的模模型管理处查到 SearchType 搜索类型,取值说明 1 表示按标题title搜索(这个例子我们定义为职位名称或公司名称) 2 表示按文章内容ArticleContent(这个例子里我们可以定义为职位介绍) 3 表示按作者 4 表示按录入者 100 表示按添加时间 .....
上面已经完成在模板里的写的搜索表单代码。接下来就是修改下搜索处理文件 /plus/search.asp
KesionCMS 对文章系统模型的搜索条件构造函数在/plus/search.asp文件里的Sub ArticleSearch()函数,那么我们就打并找到Sub ArticleSearch() 函数 Sub ArticleSearch() If (FuzzySearch=1) Then Param=Param & ")" If ChannelID=110 Then Param= Param & " and KS_ZWLX='" & KS.S("KS_ZWLX") & "' and KS_GZD='" & KS.S("KS_GZD") & "'" End If
上面加红色代码就是我们根据自定义搜索补充的条件。相信有点sql基础的朋友,对这条语句能一目了然吧,不清楚的朋友不好紧,请参考http://bbs.kesion.com/dispbbs.asp?boardid=42&Id=42054
自定义模型条件对 if channelid=110 then .... end if
请一定要加上if channelid=110 ....这样对原系统功能的搜索就不会影响。您如果有多个自定义模板都想要自己写搜索表单,就在下面接下去写if then end if 条件对吧
搜索结果的模板页就不用我多说了,只需注意在搜索模板页里调用自定义字段格式是{$KS_自定义字段名称}即可.
希望以上的教程能对初学者起到抛砖引玉的作用。非常感谢谢大家一直以来对科汛的支持!真心希望我们的工作能给您带来方便。。。。
科汛官方 2008-3-1
[此贴子已经被作者于2008-3-1 10:12:31编辑过] |
|
支持(3) | 反对(1) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
cnhuangpeng 发表于:2010/4/22 23:26:00 | 只看该作者 查看该作者主题
报纸
|
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
liaohongchu 发表于:2010/4/4 19:02:00 | 只看该作者 查看该作者主题
8楼
|
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |