虽然将KesionCMS站内搜索功能成功移植到了自己站点里,但对于它的实现原理、代码、标签并不太懂,所以这次移植成功花了很多时间和精力修改代码,记录下来方便以后使用。

Kesion CMS 站内搜索功能_第1张图片

   

     一、每个页面都有的通用搜索框(从 http://bbs.kesion.com/forumthread-654736.html 移植过来的)

        前台效果如图:

Kesion CMS 站内搜索功能_第2张图片

    包括三个部分:背景图片、搜索关键字输入框、搜索按钮。鼠标点击搜索框,会清除“输入关键字”这几个字,点其他地方又会显示出来。

      1. 将解压Kesion.Label.SearchCls.rar后得到“Kesion.Label.SearchCls.asp”文件替换科讯“KS_Cls”目录下同名文件。

         文件在附件中下载:Kesion.Label.SearchCls.rar 

      2. 在放置搜索框的位置调用如下代码 

   
   
   
   
  1. <div id="soso">{$GetSearch}div> 

      3. 在css中定义如下三个样式

         #soso  定义整个搜索框样式

         搜索背景图(路径自行更改):

         #soso .textbox  定义搜索关键词输入框的样式

         #soso .inputButton  定义执行搜索的按钮的样式 

   
   
   
   

  1.  

     到此,每个页面的通用搜索框完成

    

     二、站内搜索和结果显示模板(需在设置——基本信息设置——模板绑定——全站搜索模板中绑定该模板),

         前台显示效果如图:

Kesion CMS 站内搜索功能_第3张图片

       以下是个部分的代码和css样式,由KesionCMS自带的“全站搜索模板”的代码修改而来,调用到“站内搜索模板”中相应的位置即可

       1. 快速搜索框部分

   
   
   
   
  1.   
  2. <div style="text-align:center;height:30px;text-valign:middle;font-size:15px;"> 
  3. <form name="searchbform" action="../../plus/search/" method="get" style="margin-top:8px;"> 
  4. <div class="clear">div> 
  5. <div> 
  6. <b>快速搜索:b> 
  7. <input name="key" id="key" size="52" class="i" value="{@search.keyword}" maxlength="100">  
  8. <select name="stype" id="stype">  
  9.   <option value="1">标题option> 
  10.   <option value="2">内容option> 
  11.   <option value="3">录入option> 
  12. select>  
  13. <input type=hidden name="m" id="m" value="{@search.channelid}"> 
  14. <input style="padding:3px" type="submit" value=" 搜 索 "> 
  15. div> 
  16. form> 
  17. div> 
  18.          

        2. 搜索结果统计部分

   
   
   
   
  1. <div class="clear">div> 
  2. <div class="searchbg"> 
  3.    <div class="search">
  4. 搜索"<span style="color:#FF0000">{@search.keyword}span>",
  5. 本次共找到相关网页约<span style="color:#FF0000">{@search.totalput}span>条,
  6. 用时<span style="color:#FF0000">{@search.leavetime}span>
  7. div> 
  8. div> 

       3.搜索结果内容部分

Kesion CMS 站内搜索功能_第4张图片

   
   
   
   
  1. <div class="clear">div> 
  2.   
  3. <div class="search_left"> 
  4.      <div class="articlesearch"> 
  5.         <div class="search_lstitle">搜索结果div> 
  6.          {@loop.begin} 
  7.             <ul class="articlesearch_ul"> 
  8.                <li class="articlesearch_li">
  9. <span class="art_title"><a href="{@item.linkurl}" target="_blank">{@item.title} a>span> 
  10. <span class="class_name">[<a href="{@item.classurl}" target="_blank">{@item.classname}a>]span><br /> 
  11.                <span class="artintro">{@item.intro}...span> <br /> 
  12.                <span class="arturl"><a href="{@item.linkurl}" target="_blank">{@item.linkurl}a>span> 
  13. <span class="c9">{@item.adddate}span><br /> 
  14.                li> 
  15.             ul> 
  16.         {@loop.end} 
  17.        <div style="clear:both">div> 
  18.          {@search.showpage} 
  19.        <div style="clear:both">div>             
  20.     div>   
  21.      
  22.     <div style="padding-left:10px;height:50px;" class="relatesearch"> 
  23.       <table width="100%" border="0"> 
  24.         <tr> 
  25.           <td width="80" class="xgs">相关搜索:td> 
  26.           <td align="left"> 
  27.             {@search.relative} 
  28.           td> 
  29.         tr> 
  30.       table>  
  31.     div> 
  32.            
  33.  div> 
  34.   

     4. 在css中定义以上三个部分的样式

   
   
   
   

  1.  

    到此,站内搜索模板就完成了,在:设置——基本信息设置——模板绑定——全站搜索模板 中绑定该模板即可

    以上两个部分完成后,及实现了站内搜索的功能,无论是在通用的搜索框还是在站内搜索模板定义的页面中,输入关键字,开始搜索后,搜索结果都会在站内搜索模板的页面的显示!

    另外,这个站内搜索功能在使用了一天后,发现了一个很严重的问题,即搜索范围不包括自定义表单写入的内容!