织梦DedeCMS的搜索功能,默认情况下只搜索文章标题,而且是全站搜索。如果想改为搜索其他字段或者全文搜索,就需要修改织梦DedeCMS的设置,全文搜索还需要配置Sphinx服务器,不过对于大部分网站来说,全文搜索没有必要。
今天来分享一下如何解决织梦DedeCMS的分类搜索功能。分类搜索可以让用户更快的找到他想要的内容,这点对增强用户体验是非常有帮助的。实现的办法也不难,主要是要向织梦DedeCMS的搜索文件search.php文件传入分类id的值。
以织梦DedeCMS的默认模板为例,把默认模板文件夹中的head.htm文件的如下代码:
<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>
|
替换为下面的代码:
<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的值。 (责任编辑:admin) |