网友反馈使用博客搜索框搜索关键字查找文章总是弹窗:没有搜索到相关的内容。博客采用的是帝国cms程序建站,针对弹窗:没有搜索到相关的内容的问题,这里给出几个排查思路
1、查看网站是否开启搜索功能
排查路径:后台--系统--系统设置--系统参数设置--基本属性--关闭前台模块相关功能--搜索
2、排查搜索代码是否正确
查看搜索表单代码
<div class="search">
<form action="http://erhu.love/e/search/index.php" method="post" name="searchform" id="searchform">
<input name="keyboard" id="keyboard" class="input_text" value="请输入关键字词" style="color: rgb(153, 153, 153);" autoComplete="off" onfocus="if(value=='请输入关键字词'){this.style.color='#000';value=''}" onblur="if(value==''){this.style.color='#999';value='请输入关键字词'}" type="text">
<input name="show" value="title" type="hidden">
<input name="tempid" value="1" type="hidden">
<input name="tbname" value="news" type="hidden">
<input name="Submit" class="input_submit " value="搜索" type="submit">
</form>
</div>
重点语句
input name="tempid" value="1" type="hidden">
<input name="tbname" value="news" type="hidden">
tempid(所用搜索模板ID):默认value="1",也就是搜索模板id=1、搜索模板:后台--模板--模板管理--搜索模板--管理搜索模板
tbname(按数据表搜索):默认value="news",也就是默认搜索表示新闻系统数据表,也就是说只能搜索新闻数据表的文章信息,且不论该数据表下有多少个栏目多少篇文章,从而达到全站搜索的功能
如果你修改了数据表名称,比如:新闻系统数据表,phome_ecms_news,你修改成了phome_ecms_cms,这时tbname的默认value="cms",也要改成cms
遇到问题一:如何跨系统表实现全站搜索
换句话说,我一个栏目绑定一个系统模型,比如:帝国cms栏目绑定的系统模型是:帝国cms系统模型;网站制作栏目绑定的是网站制作栏目模型;
问题就来了,如果使用上面的搜索表单代码,是实现不了跨表搜索的
解决办法:
根据数据表搜索:
效果图:
<form action="http://erhu.love/e/search/index.php" method="post" name="searchform" id="searchform">
<input type="hidden" name="show" value="title">
<input type="hidden" name="tempid" value="1">
<input name="keyboard" type="text" id="keyboard">
<select name="tbname">
<option value="news">新闻</option>
<option value="download">下载</option>
</select>
<input type="submit" name="submit" value="搜索">
</form>
Show(搜索字段变量
Tempid:所用搜索模板ID
Keyboard:搜索关键字变量
Tbname:按数据表搜索,数据表名称查看路径:后台--系统--系统设置--数据表与系统模型--管理数据表
根据栏目id搜索:
效果图:
<form name="searchform" id="searchform" method="post" action="http://erhu.love/e/search/index.php">
<input type="hidden" name="show" value="title">
<input name="keyboard" type="text" size="10">
<select name="classid">
<option value="0">全部</option>
<option value="1">网站制作</option>
<option value="2">网页制作</option>
<option value="3">帝国cms</option>
<option value="4">师说</option>
</select>
<input type="submit" name="submit" value="搜索">
</form>
Show:搜索字段变量
Keyboard:搜索关键字变量
Classid:栏目ID,路径:后台--栏目--栏目管理(查看栏目对应id)
PS:按照栏目id搜索,也就是 <option value="0">全部</option>,原意是搜索全部栏目文章信息(但是不能跨表,只有同一个系统数据表情况下的栏目才能使用),如果栏目不同的系统数据表只能选择对应栏目搜索
针对全站搜索没有搜索到相关的内容(不建议开启全站搜索)
3、搜索数据库你没有设置默认表 或者默认的表不对
搜索功能仅限于一个表,默认不能多个表同时搜索,需要导入
路径:后台--栏目--全站全文搜索--管理搜索数据源(如果没有搜索数据源)--添加搜索数据源
如何添加搜索数据源,如下图
- 导入的数据表:帝国cms系统数据表(选择想要搜索的数据表:比如新闻系统数据表,下载系统数据表等)
- 标题字段:title(默认)
- 内容字段:newstext
- 简介字段:smalltext
- 每组导入记录数:300(默认)
其中内容字段和简介字段对应数据表字段
查看字段路径:后台--系统--管理数据表--***数据表(对应的数据表)--管理字段
内容字段:newstext(默认)
简介字段:smalltext(默认)
每组导入记录数:300(默认),如果该数据表文章数据大于300,可以先选择默认300,回到管理搜索数据源界面,再勾选“导入数据表”,选择“批量导入数据表”即可
针对”没有搜索到相关的内容”的问题,这四种排查方法都没有解决的话,只能另寻途径了。博客就遇到过这四种问题,套上其一都顺利解决!
原文地址:www.5che2.com