在织梦dedecms中设置不同的搜索页模板,可以通过以下步骤实现:
1、在head区域加入JavaScript代码:在HTML文件的head部分添加如下代码:
<script language="javascript" type="text/javascript"> function check(){ if(document.formsearch.channeltype.value=="1") document.formsearch.action="{dede:field name='phpurl'/}/search.php" else document.formsearch.action="{dede:field name='phpurl'/}/search_news.php"} </script>
这段代码用于判断选择了什么频道,并根据选择的频道使用不同的搜索页模板。
2、更改搜索代码:将搜索表单的action属性设置为空,并添加datakeonsubmit属性,调用check()函数,示例代码如下:
<form name="formsearch" action="" datakeonsubmit="check();"> <div class="form"> <input type="hidden" name="kwtype" value="0" /> <input name="q" type="text" class="searchkeyword" id="searchkeyword" 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="searchsubmit">搜索</button> </div> </form>
这里设置的按模型搜索 1是文章模型 3是软件模型。
3、复制并重命名文件:复制 /plus/serach.php 文件,并将其更名为 /plus/search_images.php。
4、修改require_once路径:打开 search_images.php 文件,将如下代码:
require_once(DEDEINC."/arc.searchview.class.php");
更改为:
require_once(DEDEINC."/arc.searchimg.class.php");
5、复制并重命名类文件:复制 /include/arc.searchview.class.php 文件,并将其更名为 /include/arc.searchimg.class.php。
6、修改$tempfile变量:打开 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";
完成以上操作后,即可根据不同频道调用不同的搜索页模板。
相关问答FAQs:
1、Q: 如何根据不同频道设置不同的搜索结果页模板?
A: 可以通过在head区域加入JavaScript代码来判断选择了什么频道,并根据选择的频道使用不同的搜索页模板,需要更改搜索代码,并复制、重命名相关文件,修改require_once路径和$tempfile变量。
2、Q: 如何修改搜索页分页方式?
A: 可以在arc.searchview.class.php文件中,找到GetPageListDM个方法,将其改为用<UL><LI>控制的方式,这样能通过CSS自定义样式更方便融入不同的风格的模板中使用。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。