织梦的搜索功能很好用,但有时候我们会需要一些特殊的搜索情况,例如我们网站中需要根据频道不同,调用不同的搜索结果页模板。本文就来教大家怎样调用不同的搜索页模板。dedecms 本身自带的模板有图片模型、文章模型、软件模型等,有时候为了用户体验需要给搜索框加一个判定,例如搜索软件模型的时候显示软件模型的模板,搜索文章模型的时候显示文章模型的模板。
一.在搜索页 head 区域加入
<script language="javascript" type="text/javascript">
<!--
function check(){
if(document.formsearch.channeltype.value=="3")
document.formsearch.action="{dede:field name='phpurl'/}/search_images.php"
else
document.formsearch.action="{dede:field name='phpurl'/}/search.php"
}
-->
</script>
二.更改搜索代码
<form name="formsearch" action="" *****ubmit="check();">
<div class="form">
<input type="hidden" name="kwtype" value="0" />
<input name="q" type="text" class="search-keyword" id="search-keyword"
value="{dede:global name='keyword' function='RemoveXSS(@me)'/}" />
<select name="channeltype" id="channeltype" >
<option value='1' selected='1'>新闻</option>
<option value='3'>软件</option>
</select>
<button type="submit" class="search-submit">搜索</button>
</div>
</form>
<!-- 这里设置的按游戏模型搜索 1是文章模型 3是软件模型 -->
三.复制 serach.php 更名为 search_images.php
四.打开 search_images.php,找到:
require_once(DEDEINC."/arc.searchview.class.php");
更改为:
require_once(DEDEINC."/arc.searchimg.class.php");
五.复制 arc.searchview.class.php 更名为 arc.searchimg.class.php
六.打开 arc.searchimg.class.php,找到:
$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search.htm";
修改为
$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search_images.htm";
核心的修改已经结束了,剩下的就是在 search_images.htm 这个模板里自由发挥了。同理也可以实现按栏目 type 搜索显示不同风格的结果页得。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!