首页 资讯内容详情

Discuz!修改模板实现论坛为默认全文搜索教程

2022-03-29 287 天才饕餮

说明

1、本人只在3.4版本下默认PC改写成功,其它版本并没有测试,但原理相同。

2、当资料量大时,全部内容查询搜索将非常耗费服务器资源,请慎用。

起因

系统默认只按标题查询搜索,由于标题字数有限,并且一些会员在发贴时并不会在提炼重要词,内容多时查询搜索的作用就尤为严重,但基本查询搜索标题并不可以搜到自己想要的内容,或遗漏了严重的内容,如果能查询搜索内容那查询搜索的重性就不言而喻,并且也能解决玩家的苦恼,减少跳出率,好在论坛默认是接受查询搜索内容的,也就是【全部内容查询搜索】,只是出于性能的思考默认并没有开启,下面一步一步来将其开启。

详细步骤

途径一

首先在后台【玩家】【玩家组】在相应要开启的用组的【基础设置】【允许全部内容查询搜索】中设置为【是】就可以。

优点:可以自行设置要开启的玩家组,方便灵巧。

缺点:当然缺点也很显然,这项设置只在超级查询搜索中管用,并且只是在重要词输入框旁边多了一个复选框,提示要不要使用全部内容查询搜索,而且还是默认未勾选情况,这显然让菜鸟尤为抓狂,也会增加使用成本价。

途径二

改写模板文件

先改写:/template/default/common/pubsearchform.htm文件;

<input type="hidden" name="srchtype" value="title" />改成

<input type="hidden" name="srchtype" value="fulltext" />这样在论坛头部的查询搜索就默认接受全部内容查询搜索了,但这并不彻底,因为点开的查询搜索结果页面如果换一个重要词再一次进行查询搜索就又不默认接受全部内容查询搜索了,所以还得继续改模板文件:/template/default/search/pubsearch.htm;

<input type="text" id="scform_srchtxt" name="srchtxt" size="45" maxlength="40" value="$keyword" tabindex="1" x-webkit-speech speech />在后面加上

<input type="hidden" name="srchtype" value="fulltext" />之后跟着再找

<input type="text" id="scform_srchtxt" name="srchtxt" size="65" maxlength="40" value="$keyword" tabindex="1" />在后面加上

<input type="hidden" name="srchtype" value="<!--{if !empty($srchtype)}-->$srchtype<!--{else}-->fulltext<!--{/if}-->" />到管理后台更新一下模板缓存,这样就保证不管在那里查询搜索都默认开启全部内容查询搜索功能。优点:玩家体验好。缺点:后台就算关闭了某玩家组的【允许全部内容查询搜索】功能也对此途径无效,此文件只要被改写,就是对任何玩家都开启了允许全部内容查询搜索功能。至此全部改写完成。

相关标签: # 模板