帝国系统设置站内搜索

  帝国系统提供了比较强大的搜索功能,有一般搜索和全站搜索,这里介绍一般搜索,个人觉得一般搜索更方便也足够满足需求,因为全站搜索比较繁琐。
  先看一下表单语法规则



变量名
说明
例子

[时间:09-16]    [浏览:]    [放入收藏夹]    [查看详情]

  帝国系统提供了比较强大的搜索功能,有一般搜索和全站搜索,这里介绍一般搜索,个人觉得一般搜索更方便也足够满足需求,因为全站搜索比较繁琐。

  先看一下表单语法规则

变量名 说明 例子
搜索表单提交地址 POST方式:/e/search/index.php <form name="searchform" method="post" action="/e/search/index.php">
GET方式:/e/search/?searchget=1 /e/search/?searchget=1&keyboard=帝国&show=title
keyboard 搜索关键字变量 <input name="keyboard" type="text">
show 搜索字段变量(多个字段用","格开。搜索字段必须是后台模型开启搜索的字段) <input type="hidden" name="show" value="title,newstext">
classid 搜索栏目ID(不设置为不限,多个栏目可用","格开,设置父栏目会搜索所有子栏目) <input type="hidden" name="classid" value="1">
ztid 搜索专题ID(不设置为不限,多个专题可用","格开) <input type="hidden" name="ztid" value="1">
tbname 按数据表搜索(需与搜索模板ID结合) <input type="hidden" name="tbname" value="news">
tempid 所用搜索模板ID(一般跟按表搜索结合使用) <input type="hidden" name="tempid" value="1">
starttime与endtime 分别为搜索发布起始时间与结束时间的信息(不填为不限.格式:2008-02-27) <input name="starttime" type="text" value="0000-00-00" size="12">
<input name="endtime" type="text" value="0000-00-00" size="12">
startprice与endprice 分别为商品价格的起始价格与结束价格(不填为不限) <input name="startprice" type="text" value="0" size="6">
<input name="endprice" type="text" value="0" size="6">
搜索特殊字段 id : 按信息ID搜索
keyboard : 按关键字搜索(可实现按tags列出信息)
userid : 按发布者用户ID搜索
username : 按发布者用户名搜索
<input type="hidden" name="show" value="keyboard">
member 值为0则不限制
值为1则为只搜索会员投稿的信息
值为2则为只搜索管理员增加的信息
<input type="hidden" name="member" value="1">
orderby 排序字段:
0:按发布日期(默认)
1:按ID
2:按评论数
3:按浏览人气
4:按下载数
<input type="hidden" name="orderby" value="1">
myorder 排序方式:
0:倒序排列(默认)
1:顺序排列
<input type="hidden" name="myorder" value="1">
andor 设置多条件查询之间关联关系,有两种:
or : 或者的关系(默认)
and : 并且的关系
<input type="hidden" name="andor" value="and">
hh 逻辑运算联结符变量:
LT : 小于
GT : 大于
EQ : 等于
LE : 小于等于
GE : 大于等于
NE : 不等于
IN : 包含(搜索关键字用空格隔开每个值)
BT : 范围,两个值之间(搜索关键字用空格隔开两个值)
LK : 模糊查询(默认)
<input type="hidden" name="hh" value="LK">

  以下是我的最常用的搜索表单提交

<form action="[!--news.url--]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);" onfocus="if(value=='请输入关键字词'){this.style.color='#000';value=''}" onblur="if(value==''){this.style.color='#999';value='请输入关键字词'}" type="text">
<input name="show" value="title,smalltext,writer" 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>

  忽略掉css看帝国系统的语法

<form action="[!--news.url--]e/search/index.php" method="post" name="searchform" id="searchform">//是必须要填的,保持一样即可。

  搜索框的input提交 name="keyboard" id="keyboard" 要保持这两个

  提交按钮时用的type="submit"是必须的。name属性也可以为name="Submit"

  规则使用以下3个即可应付大多情况

<input name="show" value="title,smalltext,writer" type="hidden">  //搜索的关键字匹配标题,文章简介,作者
<input name="tempid" value="1" type="hidden">   //使用的搜索模板id,这个必须要正确,否则会一直搜索不出
<input name="tbname" value="news" type="hidden">   //使用的搜索数据模型,一般博客用新闻数据表模型news                   

  id查看方法:模板——管理搜索模板

  (每一个终极栏目都可以设置搜索模板,建议统一个默认的搜索模板)

帝国系统设置站内搜索

  本文转载自:轻语分享www.caihonggudu.cn


标签: