开启左侧

百度站内搜索代替默认的DZ纵横搜索(非插件)

[复制链接]
发表于 2014-12-27 15:57:53 | 显示全部楼层 |阅读模式
        百度站内搜索代替默认的DZ纵横搜索教程的方法版权属于DZ论坛作者:小柒Discuz,我也是按他的方法教程把自己网站纵横改变过来的。百度站内搜索的好处还是不少的,至少比自带的搜索要强。能支持全文关键字搜索,而不局限于标题搜索。

        使用百度站内搜索功能前提是你必须先有:百度提供给你站的搜索引擎ID,如果没有,请不要随便更改了,有可能造成无法使用的状态。成功替换后的演示网址:bbs.uchao.net二级搜索域名:so.uchao.net,就是本站的演示:

操作步骤:
        备份模板common目录下的pubsearchform.htm
        然后打开此文件做如下修改:

13行:
  1. <form id="scbar_form" method="{if $_G[fid] && !empty($searchparams[url])}get{else}post{/if}" autocomplete="off" onsubmit="searchFocus($('scbar_txt'))" action="{if $_G[fid] && !empty($searchparams[url])}$searchparams[url]{else}search.php?searchsubmit=yes{/if}" target="_blank">
复制代码

修改为
  1. <form id="scbar_form" method="get" autocomplete="off" onsubmit="searchFocus($('scbar_txt'))" action="http://so.uchao.net/" target="_blank">
复制代码

下面新增两行
  1. <input type="hidden" name="s" value="你的id">
  2. <input type="hidden" name="ie" value="{CHARSET}">
复制代码

删除第26行这行代码
  1. <input type="hidden" name="q" id="cloudsearchquery" value="" />
复制代码

第44行
  1. <td class="scbar_txt_td"><input type="text" name="srchtxt" id="scbar_txt" value="{lang enter_content}" autocomplete="off" x-webkit-speech speech /></td>
复制代码

修改为:
  1. <td class="scbar_txt_td"><input type="text" name="q" id="scbar_txt" value="{lang enter_content}" autocomplete="off" x-webkit-speech speech /></td>
复制代码

然后应该就ok啦!

        以上只是实现了此功能,可以说是能用了,但是会提交很多多余的参数,而且帖子用户什么的下拉选项无效了。
如果你想完美点,请继续以下操作:
从第14行删到40行(之前删过一个26行了)
  1. <input type="hidden" name="mod" id="scbar_mod" value="search" />
  2.                 <input type="hidden" name="formhash" value="{FORMHASH}" />
  3.                 <input type="hidden" name="srchtype" value="title" />
  4.                 <input type="hidden" name="srhfid" value="$_G[fid]" />
  5.                 <input type="hidden" name="srhlocality" value="$_G['basescript']::{CURMODULE}" />
  6.                 <!--{if !empty($searchparams[params])}-->
  7.                         <!--{loop $searchparams[params] $key $value}-->
  8.                         <!--{eval $srchotquery .= '&' . $key . '=' . rawurlencode($value);}-->
  9.                         <input type="hidden" name="$key" value="$value" />
  10.                         <!--{/loop}-->
  11.                         <input type="hidden" name="source" value="discuz" />
  12.                         <input type="hidden" name="fId" id="srchFId" value="$_G[fid]" />
  13.                         <input type="hidden" name="q" id="cloudsearchquery" value="" />

  14.                         <style>
  15.                         #scbar { overflow: visible; position: relative; }
  16.                         #sg{ background: #FFF; width:456px; border: 1px solid #B2C7DA; }
  17.                         .scbar_narrow #sg { width: 316px; }
  18.                         #sg li { padding:0 8px; line-height:30px; font-size:14px; }
  19.                         #sg li span { color:#999; }
  20.                         .sml { background:#FFF; cursor:default; }
  21.                         .smo { background:#E5EDF2; cursor:default; }
  22.             </style>
  23.             <div style="display: none; position: absolute; top:37px; left:44px;" id="sg">
  24.                 <div id="st_box" cellpadding="2" cellspacing="0"></div>
  25.             </div>
  26.                 <!--{/if}-->
复制代码

然后删除第45行
  1. <td class="scbar_type_td"><a href="javascript:;" id="scbar_type" class="xg1" onclick="showMenu(this.id)" hidefocus="true">{lang search}</a></td>
复制代码

然后应该就彻底o了吧!最后还是再次多谢作者的大方无私的免费教会了我们。谢谢! @小柒Discuz!!!
更完美的版本,请看:平度论坛的修改效果
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
QQ在线咨询
售前咨询热线
0532-88371356
售后服务微信
pingduwangzhan
快速回复 返回顶部 返回列表