首页
站长论坛BBS
救助
投稿
discuz视频教程
discuz技术支持
版块
登录
快速注册

Discuz! X3.2中设置百度站内搜索框的方法

mahua1987 2015-7-16 [建站] 来自PC 复制链接
957454
discuz使用视频教程
31idc

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
本帖最后由 mahua1987 于 2015-7-16 15:49 编辑

我也是个新手,昨天弄了一下午,看了几篇教程,综合了他们的利弊,终于弄成功了!大家可以去看看我的站http://www.lunfawang.com/

下面我把discuz! X3.2中设置百度站内搜索框的方法做个笔记:

第一步:把你想要做搜索的域名别名解析到(百度有说明),如果你想使用百度默认的域名,可以省略此步;

第二步:去开通站内搜索zn.baidu.com,这一步需要验证网站;

第三步:添加搜索框样式,并根据需要进行相应设置。这个我就不多说了,跟着步骤来,我在这里用的是“使用网站已有的搜索框样式”;

第四步:进行“结果页管理”,也是根据百度页面的提示一步步来,不会的那里都有帮助信息。需要注意的是,如果搜索使用自己的域名,要在这一步添加进去。

第五步:就是从百度获取代码然后添加到论坛了,这个比较麻烦,因为不同模板设置都不同,还有用不用百度的搜索框,这个设置都有区别,因此好多朋友都卡在了这里。下面我相信说一下吧!


先找搜索框文件,我用的模板就是调用的DZ自带的搜索框文件(模板common目录下的pubsearchform.htm),这个要注意自己模板调用的是哪个文件,当然也有直接写到头部文件或其它位置的。然后,打开做如下修改:

  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://zhannei.baidu.com/cse/search" target="_blank">
复制代码


下面新增两行,id从百度代码里就能找到
  1. <input type="hidden" name="s" value="你的id">
  2. <input type="hidden" name="ie" value="{CHARSET}">
复制代码


添加一行,这个就要根据根据情况了,也有添加<input type="text" id="bdcsMain" />这个的,我添加这个就好出现两个搜索框并错位,所以我用下面的代码
  1. <input type="hidden" id="bdcsMain" />
复制代码


删除第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>
复制代码


之后在下面代码后面加入百度中提取的代码
  1. </td>
  2.                         </tr>
  3.                 </table>
  4.         </form>
  5. </div>
复制代码


然后应该就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>
复制代码


现在大功告成了!快去试试吧!

评分

参与人数 1元宝 +5 收起 理由
ARCHY + 5 赞一个!

查看全部评分




上一篇:网页设计“进化论”:用户体验、广告策略等
下一篇:wampServer启动提示Could not execute menu item错误解决方法
http://www.lunfawang.com http://blog.lunfawang.com
362938688 发表于 2015-7-17 09:17:40 来自PC
当然也有直接写到头部文件或其它位置的
www.zuchewangzhan.cn|www.jjpd888.com|www.jjjnews.top|www.bjxdc2001.com|www.gchb001.com|www.seoh.cn网站推广
liu1369126230 发表于 2015-7-17 10:10:23 来自PC
sitemap插件可以一键开启百度站内搜素哦
281463288 发表于 2015-7-17 14:24:04 来自PC
强烈支持,站帮网有你更精彩
mahua1987  楼主| 发表于 2015-7-17 19:21:44 来自PC
本帖最后由 mahua1987 于 2015-7-17 19:23 编辑

补充一个代码。

经过这两天的测试,之前有个代码有问题。症状就是用上面方法设置完pubsearchform.htm文件之后,当时测试搜索结果页绑定的二级域名完全没有问题,但是过一两天再搜索时,结果页就会变成百度自己默认的域名。

我今天咨询了百度技术,说是因为我设置了自定义搜索框,所以有个代码写的不正确,修改的方法就是不要添加以下这行代码,已经添加的,记得删除。
  1. <input type="hidden" id="bdcsMain" />
复制代码



然后,把下面这行代码
  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>
复制代码

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


其实就是id="bdcsMain"的位置写错了。

修改好后,经过测试自己绑定的二级域名完全没问题,而且之前一个不出现的搜索提示功能也正常了!问题迎刃而解!

不过,这样修改好后,就是搜很给力,希望分享更多给力的帖子啊。搜索框的样式不怎么美观了!所以今天我又改了下样式,然后把热搜词功能也打开了!

用着还不错呢!
http://www.lunfawang.com http://blog.lunfawang.com
clswang 发表于 2015-7-18 12:30:50 来自PC
支持下了啊
mahua1987  楼主| 发表于 2015-7-27 14:29:22 来自PC
一直用着都不错的。
http://www.lunfawang.com http://blog.lunfawang.com
背影像条狗 发表于 2015-9-3 17:34:50 来自PC
强烈支持,站帮网有你更精彩
huakhl 发表于 2015-9-6 14:10:03 来自PC
很给力,希望分享更多给力的帖子啊。
a0732w 发表于 2015-10-7 01:17:50 来自PC
很给力,希望分享更多给力的帖子啊。
www.xicxi.com
www.gzgkgd.com
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表