织梦按栏目分类搜索的方法

时间:2016-03-31

  织梦DedeCMS的搜索功能,默认情况下只搜索文章标题,而且是全站搜索。如果想改为搜索其他字段或者全文搜索,就需要修改织梦DedeCMS的设置,全文搜索还需要配置Sphinx服务器,不过对于大部分网站来说,全文搜索没有必要。

  今天来分享一下如何解决织梦DedeCMS的分类搜索功能。分类搜索可以让用户更快的找到他想要的内容,这点对增强用户体验是非常有帮助的。实现的办法也不难,主要是要向织梦DedeCMS的搜索文件search.php文件传入分类id的值。

  以织梦DedeCMS的默认模板为例,把默认模板文件夹中的head.htm文件的如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
<form action="{dede:field name='phpurl'/}/search.php" name="formsearch">  
<div class="form">  
<h4>搜索</h4>  
<input type="hidden" name="kwtype" value="0" />  
<input name="keyword" type="text" class="search-keyword" id="search-keyword" />  
<select name="searchtype" class="search-option" id="search-option">  
<option value="titlekeyword" selected='1'>智能模糊搜索</option>  
<option value="title">仅搜索标题</option>  
</select>  
<button type="submit" class="search-submit">搜索</button>  
</div>  
</form>

  替换为下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form action="{dede:field name='phpurl'/}/search.php" name="formsearch">
<div class="form">
<h4>搜索</h4>
<input type="hidden" name="kwtype" value="0" />
<input type="hidden" name="searchtype" value="titlekeyword" />
<input name="keyword" type="text" class="search-keyword" id="search-keyword" />
<select name="typeid" class="search-option" id="typeid">
<option value='0' selected='1'>全部栏目</option>
{dede:channelartlist typeid='top' }
{dede:type} <option value='[field:id/]'>[field:typename/]</option>{/dede:type}
{dede:channel type='son' noself='yes'}
<option value='[field:id/]'>-[field:typename/]</option>
{/dede:channel}
{/dede:channelartlist}
</select><button type="submit" class="search-submit">搜索</button>
</div>
</form>

  可以看到,基本的结构什么的都是没有变化的,只是传入了typeid的值。

上一条:织梦dede获取当前栏目文章数量 下一条:织梦DedeCMS评论数和收藏数调用方法

相关文章

最新文章