• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

DeDeCms模板制作之搜索功能制作

来源: www.dedecms8.com 编辑:织梦吧 时间:2011-08-06点击:

 从我发布了dedecms仿站教程后,有很大朋友都加入了本群进行学习以及询问很多关于dedecms仿站相关的问题,最近发现群里有人问,仿站时dedecms搜索功能怎么仿,其实对于新手来说可能是个困难的问题,今天我就以仿搜索功能写个教程,希望大家在仿站过程中遇到这样的问题能通过此文章解决。

代码分析

那么我们先来看目前dedecms最新版5.6版本中模板中搜索的代码,其中包含了JS和HTML代码

1、JS代码

function check(){  

if(document.formsearch.searchtype.value=="")  

document.formsearch.action="http://www.google.cn/custom"  

else  

document.formsearch.action="{dede:field name='phpurl'/}/search.php"  

2、HTML代码

<form  name="formsearch" action="" onSubmit="check();"> 

  <input type="hidden" name="domains" value="www.dedecms.com"> 

    <div class="form"> 

      <h4>搜索</h4> 

  <input type="hidden" name="kwtype" value="0" /> 

  <input name="q" type="text" class="search-keyword" id="search-keyword" value="在这里搜索..." onfocus="if(this.value=='在这里搜索...'){this.value='';}"  onblur="if(this.value==''){this.value='在这里搜索...';}" /> 

   <select name="searchtype" class="search-option" id="search-option"> 

   <option value="" selected='1'>google搜索</option> 

   <option value="titlekeyword">站内搜索</option> 

   </select> 

   <button type="submit" class="search-submit">搜索</button> 

   </div> 

   <input type="hidden" name="client" value="pub-9280232748837488"> 

   <input type="hidden" name="forid" value="1"> 

   <input type="hidden" name="ie" value="UTF-8"> 

   <input type="hidden" name="oe" value="UTF-8"> 

   <input type="hidden" name="safe" value="active"> 

   <input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;

AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"> 

   <input type="hidden" name="hl" value="zh-CN"> 

</form> 

可以从上面的代码中看出,dedecms默认的模板搜索代码js中check()方法来判断表单中的select,而且我们可以看出其中有很多隐藏的HTML标签input,大多都是谷歌搜索广告的代码,如下:

   <input type="hidden" name="client" value="pub-9280232748837488"> 

   <input type="hidden" name="forid" value="1"> 

   <input type="hidden" name="ie" value="UTF-8"> 

   <input type="hidden" name="oe" value="UTF-8"> 

   <input type="hidden" name="safe" value="active"> 

   <input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;

LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"> 

   <input type="hidden" name="hl" value="zh-CN"> 

简化代码

通过上面的简单分析,我们可知我们可以直接将其中无用的代码直接删除,将代码进行简化,那么把HTML代码和JS代码结合起来就可以进行超级简单的简化了。最终我们可以得到如下简化的代码:

<form  name="formsearch" action="{dede:field name='phpurl'/}/search.php" >

<input name="q" type="text" />

<button type="submit">搜索</button>

</form>

使用代码
诸如本站首页的搜索代码为
    <div class="search">
    <form action="{dede:field name='phpurl'/}/search.php" method="get" target="_blank">
      <div class="search_bg">
        <input type="text" name="q" class="search_input" value="填入您要搜索的关键词" onfocus="if(value=='填入您要搜索的关键词'){this.style.color='#000';value=''}" onblur="if(value==''){this.style.color='#CCC';value='填入您要搜索的关键词'}">
      </div>
      <div class="search_submit">
        <input type="image" src="{dede:global.cfg_templets_skin/}/images/search.jpg">
      </div>
      </form>
    </div>
其中使用的就是上面提到的简化代码中的几个代码,而且其中加入了相应的DIV,并且还将button修改为了input,其类型为image。
 
从上面所简化的代码中可以看出其实要在模板中添加搜索功能的代码,只要懂HTML的朋友都知道该如何进行添加和修改,那么就可以根据此简化的代码进行变化即可,当然对于DIV+CSS方面,也是需要你自己进行调整和使用了。
如果你需要更加强大的搜索功能,诸如本站的搜索页面的搜索功能,那么就得通过JS和HTML同时使用,另外你还得研究透高级搜索模板页面的相应代码。

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ