請選擇 進入手機版 | 繼續訪問電腦版

東里論壇

 找回密碼
 立即註冊

QQ登录

只需一步,快速开始

搜索
查看: 5011|回復: 0

[使用心得] Discuz! X3.3优化修改(八)——为Discuz!论坛增加百度站内全文搜索功能

[複製鏈接]

18

主題

23

帖子

317

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
317
發表於 2014-9-9 15:57:00 | 顯示全部樓層 |閱讀模式
百度站内搜索,是一个能全文搜索的工具。最近,百度站长大概是开放了站内搜索功能,反正我是能使用了,就想着要折腾进我的论坛中。在Discuz!官方论坛搜相关资料,看看如何实现这一功能。结果都没搜到便于操作的简单方法。最后,综合了相关资料,自己折腾了下。

首先,请确认你有百度站内搜索使用权限,具体请登陆:http://zhanzhang.baidu.com/search/index查询。

然后,用记事本之类打开/template/default/common/pubsearchform.htm文件(文件如在服务器上,需先用FTP下载到本地),从第三行开始的几行代码,就是Discuz!论坛搜索框右侧下拉菜单的各个参数,比如“本版”“帖子”“用户”之类。我打算增加一个搜索“全文”的选项(使用百度的站内搜索功能),先选择合适位置(可以直接在第二行下面)增加下面这一句:

  1. <!--{block slist[fulltext]}--><li><a href="javascript:;" rel="fulltext">{lang fulltext}</a></li><!--{/block}-->
複製代碼

第三步,将/source/language/lang_template.php打开,搜索:
'search_this_forum' => '本版'

下面加一句:
  1. 'fulltext' => '全文',
複製代碼

第四步,打开根目录下的search.php,在“$discuz->init();”下面增加:
  1. if($_POST['mod'] == 'fulltext'){
  2. header("Location:http://zhannei.baidu.com/cse/search?q=".$_POST['srchtxt']."&s=您的站内搜索ID");
  3. exit();
  4. }
複製代碼
至此,将修改好的文件上传覆盖,然后再在论坛管理后台更新一下缓存,刷新一下论坛就行了。注意,更新缓存和刷新论坛页面之后,可能会发生论坛页面不能居中,跑到左侧的问题,过几分钟再刷新就好了。

如果想默认的搜索选项是“全文”,则打开pubsearchform.htm文件,搜索找到:class="curtype",剪切,粘贴在rel="fulltext"后面。


需要注意的是:Discuz的“百度结构化数据提交”(百度sitemap)插件集成了百度站内搜索功能(需登陆百度站长平台才能启用),当你安装此插件,并启用其内置的站内搜索功能时,会将Discuz原有的搜索“帖子”和“用户”的功能全替换为百度站内搜索!对于我来说,我需要的是,在保留Discuz原有搜索功能的基础上,增加百度站内搜索以搜索全文,就绝对不能启用此插件自带的站内搜索功能。因为此功能是利用嵌入点增加的,无需修改Discuz模板就会使Discuz原有搜索功能失效,所以一开始我查找了一堆Discuz模板文件都没找到问题在哪,后来才弄明白是这个插件搞的鬼,浪费了很多时间和精力。
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

QQ|小黑屋|手機版|Archiver|東里論壇 ( 粤ICP备14015598号 ) 公安备案图标粤公网安备 44512202000019号

GMT+8, 2020-8-13 01:20 , Processed in 0.093751 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表