当前位置:主页 > 建站知识 > 织梦怎样为不同的栏目设置不同搜索页面模版

织梦怎样为不同的栏目设置不同搜索页面模版

小谷哥2018-09-23 23:39点击:
织梦cms是国内最流行的几款CMS程序之一。
我们用织梦建站时都会有多个栏目或者用到不同的频道模型,当网站内容较多时为了方便用户查找内容自然就用到了站内搜索。有时为了用户能够更准确的检索网站内容,比如用户想搜索新闻资讯,搜索出来的只有新闻资讯的内容结果,想要搜索产品只让显示产品内容的结果。为了能给用户更好的体验,我们就想这两个搜索结果页面以不同的样式展示给用户,也就是要这两个搜索结果的模版不同。
虽然织梦有个高级搜索的功能,可以分栏目搜索用户需要的内容,但是搜索的结果的样式也就是模版是一样的,需要怎么样设置让这两个页面的模版不同呢?其实很简单,下面我就把方法告诉大家。

第一步:首先我们要复制两个文件
            1、找到根目录下的plus/search.php文件,复制文件并更名为s_product.php。
             2、找到根目录下的/include/arc.searchview.class.php文件,复制并更名为arc.search_product..class.php

第二步:修改
s_product.php文件,这个文件有两处需要修改
            1、打开文件s_product.php找到:require_once(DEDEINC."/arc.searchview.class.php");修改为:require_once(DEDEINC."/arc.search_product..class.php");
            2、找到$sp = new SearchView($typeid,$keyword,$orderby,$channeltype,$searchtype,$starttime,$pagesize,$kwtype,$mid);这段代码,
如果你想调用的是一个自定义模型下面的所以栏目,在其上一行加上:$channeltype=内容模型的id;
如果你想调用某一个栏目的内容,在$sp = new SearchView($typeid,$keyword,$orderby,$channeltype,$searchtype,$starttime,$pagesize,$kwtype,$mid);这段代码之上加上$typeid=栏目id;

注:这一步是对内容搜索结果的设置;

第三步:修改arc.search_product..class.php
这一步是对搜索样式也就是搜索结果页面模版的设置。
打开文件,在131行处找到

$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']."/s_product.htm";

第四步:制作文件名为s_product.htm的模版
上传s_product.htm文件到模版目录,这样就可以根据不同的内容调用不同的搜索页面了

如果您有什么不明白的或者更好的方法可以联系我们交流。