立即註冊  找回密码

QQ登录

只需一步,快速开始

开启辅助访问 切换到宽版

東里論壇

搜索
查看: 9393|回复: 0

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

[复制链接]

18

主题

23

帖子

327

积分

管理員

Rank: 9Rank: 9Rank: 9

积分
327
发表于 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, 2024-4-20 13:01 , Processed in 0.097978 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.