设为首页 - 加入收藏 - 网站地图 - RSS订阅 村姑网-www.cunguer.com
当前位置:首页 > CMS教程 > dedecms > 正文

让dedemcs搜索结果页面根据频道模型不同使用不同的搜索结果页模板

时间:2015-12-06 17:38:20 来源:村姑网 作者:喜欢安静 阅读:
导读:作为站长的你是否看到别人的dedecm网站搜索结果页面模板会根据频道模型的不同而不同,这个有木有?是不是也想让自己的搜索结果页可以根据访客搜索时所选择的频道模型不一样而使用不同风格的搜索结果页面来展示呢?下面就来一起学习一下吧! 实现思路: 使用j...

作为站长的你是否看到别人的dedecm网站搜索结果页面模板会根据频道模型的不同而不同,这个有木有?是不是也想让自己的搜索结果页可以根据访客搜索时所选择的频道模型不一样而使用不同风格的搜索结果页面来展示呢?下面就来一起学习一下吧!

实现思路:

使用javascript脚本语言判断搜索框中选择的频道模型的value值,使用if...else或其他判断语句根据值的不同使用不同的搜索结果页模板。

需要修改/增加的dedecms文件:

含有搜索框的htm模板文件、serach.php、search_images.php、arc.searchview.class.php、arc.searchimg.class.php、search_images.htm

实现dedecms搜索结果页面根据频道模型使用不同搜索结果页面模板的步骤:

1、在含有搜索框的htm模板文件的head部分加入以下javascript判断频道模型的代码:

<script language="javascript" type="text/javascript"> 
 
<!– 
 
function check(){ 
 
  if(document.formsearch.channeltype.value=http://www.cunguer.com/="3") 
 
  document.formsearch.action="{dede:field name='phpurl'/}/search_images.php" 
 
  else 
 
  document.formsearch.action="{dede:field name='phpurl'/}/search.php" 
 

 
–> 
 
</script> 

2、更改htm模板中搜索框的html代码,使之和第一步中进行有效地对应:

搜索框更改的代码

上图中的代码可以点击这里下载:

代码下载

注意以上代码,主要看这几句中的数字1和数字3:

       <select name="channeltype" id="channeltype" > 
 
    <option value='http://www.cunguer.com/1′ selected='1′>新闻</option> 
 
        <option value='http://www.cunguer.com/3′>软件</option> 

head部分中添加的javascript判断语句就是根据这里来进行判断的。

3、复制一个serach.php出来,并将其重命名为search_images.php。

4、打开search_images.php,在其代码中找到:

require_once(DEDEINC."/arc.searchview.class.php");

并更改为:

require_once(DEDEINC."/arc.searchimg.class.php");

5、复制arc.searchview.class.php并更名为arc.searchimg.class.php

6 打开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这个模板页面了。

此方法不但可以根据dedecms频道模型不同而显示不同的搜索页面,页可以实现按栏目type搜索显示不同风格的结果页的。做完这一切,你的网站就拥有了2个不同的搜索结果页面了,如果你想使用3个甚至更多的搜索结果页面的话,只需修改以上的几处代码,并新建相应的php页面和htm模板页面即可。