网站制作---科讯万能搜索系统的简单实用教程

很多科汛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="keywordvalue="请输入职位或公司名称" οnclick="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 表示按添加时间

           ..... 
 3、自定义字段 KS_ZWLX,KS_GZD

 

上面已经完成在模板里的写的搜索表单代码。接下来就是修改下搜索处理文件 /plus/search.asp

 

KesionCMS 对文章系统模型的搜索条件构造函数在/plus/search.asp文件里的Sub ArticleSearch()函数,那么我们就打并找到Sub ArticleSearch() 函数

Sub ArticleSearch()        
  Dim SqlStr,Param
  Param=" Where Verific=1 And DelTF=0"
  Select Case SearchType
   Case 100
     If IsDate(KeyWord) Then
      If CInt(DataBaseType) = 1 Then
       Param=Param & " And AddDate>='" & KeyWord & " 00:00:00' and AddDate<='" &KeyWord & " 23:59:59'"
   else
    Param=Param & " And AddDate>=#" & KeyWord & " 00:00:00# and AddDate<=#" &KeyWord & " 23:59:59#"
   end if
  Else
    Exit Sub
  End If
   Case 1

         If (FuzzySearch=1) Then
    For I=0 To Ubound(KeyWordArr)
       If I=0 Then
         Param=Param & " And (Title Like '%" & KeyWordArr(i) & "%'"
       Else
        Param = Param & " or Title Like '%" & KeyWordArr(i) & "%'"
       End If
      Next
     Else
        Param=Param & " And (Title Like '%" & KeyWord & "%'"
     End If

   Param=Param & ")"
   Case 2:Param=Param & " And ArticleContent Like '%" & KeyWord & "%'"
   Case 3:Param=Param & " And Author Like '%" & KeyWord & "%'"
   Case 4:Param=Param & " And ArticleInput Like '%" & KeyWord & "%'"
   Case 5:Param=Param & " And KeyWords Like '%" & KeyWord & "%'"
   Case else
    if (FuzzySearch=1) Then
   For I=0 To Ubound(KeyWordArr)
    If I=0 Then
    Param=Param & " And (Title Like '%" & KeyWordArr(i) & "%'"
    Else
    Param = Param & " or Title Like '%" & KeyWordArr(i) & "%'"
    End If
   Next
  Else
     Param=Param & " And (Title Like '%" & KeyWord & "%' or Author Like '%" & KeyWord & "%'"
  End If
  Param=Param & ")"
  End Select
  If ClassID<>"0" Then Param=Param & " And Tid In(" & KS.GetFolderTid(ClassID) & ")"

  If ChannelID=110 Then

       Param= Param & " and KS_ZWLX='" & KS.S("KS_ZWLX") & "' and KS_GZD='" & KS.S("KS_GZD") & "'"

   End If


  SqlStr="Select * From " & KS.C_S(ChannelID,2) & Param & " Order By ID Desc"
  Set RS=Server.CreateObject("ADODB.RECORDSET")
  RS.Open SqlStr,Conn,2,1

 

 

上面加红色代码就是我们根据自定义搜索补充的条件。相信有点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_自定义字段名称}即可.

 

刚才修改了下,现在可以在kesion所有版本上使用了!所有哦!下面跟我做!打开Search.asp,大约在118行、196行、275行、354行均有这样一段 Case 5      SqlStr=SqlStr & " And KeyWords Like '%" & KeyWord & "%'"     Case else SqlStr=SqlStr & " And (Title Like '%" & KeyWord & "%' Or  Author Like '%" & KeyWord & "%')"将上面那段中的红色部分修改为下面的 Case 5      SqlStr=SqlStr & " And KeyWords Like '%" & KeyWord & "%'"     Case else SqlStr=SqlStr & " And (Title Like '%" & KeyWord & "%' Or  Author Like '%" & KeyWord & "%' Or  AddDate Like '%" & KeyWord & "%')"118行、196行、275行、354行,可以全部修改也可以只修改部分,这里要说明一下,118行修改后是为文章搜索增加日期查询功能,196行是为图片搜索,275行是为下载搜索,354行是为flash搜索(免费版本中有flash搜索,但是没有这个版块,所以这个步骤免费用户可以不做)下面来到423行Dim ArticleSqlStr:ArticleSqlStr="Select C.ChannelID,A.ID,A.Tid,A.Title,A.AddDate,A.Author,A.ArticleContent,A.Fname,A.InfoPurview,A.ReadPoint From KS_Article A,KS_Class C Where A.Tid=C.ID and A.Verific=1  And A.DelTF=0  And (A.Title Like '%" & KeyWord & "%' Or A.SubTitle Like '%" & KeyWord & "%' or A.Author Like '%" & KeyWord & "%')"    Dim PhotoSqlStr:PhotoSqlStr="Select C.ChannelID,A.ID,A.Tid,A.Title,A.AddDate,A.Author,A.PictureContent,A.Fname,A.InfoPurview,A.ReadPoint From KS_Photo A, KS_Class C Where A.Tid=C.ID and A.Verific=1  And A.DelTF=0  And (A.Title Like '%" & KeyWord & "%' Or A.Author Like '%" & KeyWord & "%')"    Dim DownSqlStr:DownSqlStr="Select C.ChannelID,A.ID,A.Tid,A.Title,A.AddDate,A.Author,A.DownContent,A.Fname,A.InfoPurview,A.ReadPoint From KS_DownLoad A,KS_Class C Where A.Tid=C.ID and A.Verific=1  And A.DelTF=0  And (A.Title Like '%" & KeyWord & "%' Or A.Author Like '%" & KeyWord & "%')"    Dim FlashSqlStr:FlashSqlStr="Select C.ChannelID,A.ID,A.Tid,A.Title,A.AddDate,A.Author,A.FlashContent,A.Fname,A.InfoPurview,A.ReadPoint From KS_Flash A,KS_Class C Where A.Tid=C.ID and A.Verific=1  And A.DelTF=0  And (A.Title Like '%" & KeyWord & "%' Or A.Author Like '%" & KeyWord & "%')"增加红色部分:Dim ArticleSqlStr:ArticleSqlStr="Select C.ChannelID,A.ID,A.Tid,A.Title,A.AddDate,A.Author,A.ArticleContent,A.Fname,A.InfoPurview,A.ReadPoint From K
KESION 在线网校系统面向个人、学校、培训机构及企业用户的在线教育建站系统系统包含了多终端切换学习,手机网站、微网校、APP应用一步全搞定、流畅视频点播、师资管理系统、教师点评以及学员互动‘各种课程的营销模式、在线云直播,笔记,题库试卷系统、课程资料预览,下载等强大的教学管理功能等。 KesionEDU在线网校系统V5.5.180828更新日志 1、修复前台会员添加直播时是乐视云的时候自定义直播录入ID没有保存 2、修复前台会员直播课程点击通知学员出现小bug 3、修复前台机构会员微信粉丝的问题 4、优化个人退出班级的效果 5、修复前台代理商添加客户信息的真实姓名没有保存起来的小bug 6、修复前台机构和教师的直播的状态问题 7、修复手机版的申请加入班级的时候,在手机版的会员中心的我的班级列表显示两个一样的班级问题 8、修复课程的订单处理退款时没有更新课程的缓存文件(xml) 9、修复前台发布求职的发布职位上限(限制的个数出现的小bug) 10、优化前台点播列表启用多分类筛选的筛选问题 11、修复后台课程的课程图片点击选择图片的时候出现的小bug 12、修复课程页启用生成静态HTML的一些BUG,如前台链接没有改变等 13、改进课页启用生成HTML,可以单独设置网授、面授及教师的总生成目录 14、改进直播课程,提醒上课时的模板消息模板。 需要打开config/WeiXinTemplateMsg.config 增加以下节点内容 15、在后台的面授课程管理列表里增加通知学员准时上课功能 16、后台课程的订单操作发货的时候选择物流公司及发送的手机短信小bug 17、完善后台处理退款的时候发送短信通知 18、修复组合授权播放问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值