织梦dedecms搜索页面按照栏目ID搜索的方法

对于数据量比较大的网站来说,如果按照全网进行搜索的话,那么数据会比较多,如果我想让用户可以按照栏目id进行搜索的话,要怎么实现呢?
 
首先我们看看怎么对DEDE的搜索功能进行指定栏目或者频道
 
在搜索结果页添加:
 
<input type="hidden" name="typeid" value="1,4″ />
 
value="1,4″就是你要指定的一个或多个栏目,多个栏目用,号隔开。
 
那接下来我们就可以制定对全站所有栏目进行调用,让访客可以自己选择要搜索哪个栏目
 
生成栏目列表供访客选择,完整代码如下:
 
<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>

上面的搜索是可以按照顶级栏目和子栏目进行搜索的,如果只需要按照顶级栏目搜索,那么只需要将红色部分去掉就行了。