帝国CMS提供了比较强大的搜索结果调用,你可以按照帝国cms搜索表单制作语法,制作出满足你需求的大部分搜索功能。如果你在你的数据库中有自定义字段,那么可能需要改一下e/search/index.php对form表单提交的数据处理,可以参考文章最后提供的例子。先来看看搜索表单变量说明:
变量名 |
说明 |
例子 |
搜索表单提交地址 |
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"> |
下面是一个例子:
01 |
< table width = "320" border = "0" cellspacing = "1" cellpadding = "3" >
|
02 |
< form name = "searchform" method = "post" action = "/e/search/index.php" >
|
04 |
< td >关键字:< input name = "keyboard" type = "text" size = "10" ></ td >
|
07 |
< option value = "title" >标题</ option >
|
08 |
< option value = "smalltext" >简介</ option >
|
09 |
< option value = "newstext" >内容</ option >
|
10 |
< option value = "writer" >作者</ option >
|
11 |
< option value = "title,smalltext,newstext,writer" >搜索全部</ option >
|
16 |
< select name = "classid" >
|
17 |
< option value = "0" >搜索全部</ option >
|
18 |
< option value = "1" >新闻中心</ option >
|
19 |
< option value = "4" >技术文档</ option >
|
20 |
< option value = "22" >下载中心</ option >
|
22 |
< td >< input type = "submit" name = "submit" value = "搜索" ></ td >
|
搜索表单多条件并列搜索语法说明
1. 多字段并列搜索:有"字符串"与"数组"两种传递方式
字符串传递为例子:
1 |
< input type = "hidden" name = "hh" value = "LK" >
|
2 |
< input type = "hidden" name = "show" value = "title,writer" >
|
3 |
< input type = "hidden" name = "keyboard" value = "标题,作者" >
|
说明:上面为模糊查询title字段包含"标题"字符或者writer字段包含"作者"的信息
数组传递为例子:
1 |
< input type = "hidden" name = "hh" value = "LK" >
|
2 |
< input type = "hidden" name = "show[]" value = "title" >
|
3 |
< input type = "hidden" name = "keyboard[]" value = "标题" >
|
4 |
< input type = "hidden" name = "show[]" value = "writer" >
|
5 |
< input type = "hidden" name = "keyboard[]" value = "作者" >
|
上面为模糊查询title字段包含"标题"字符或者writer字段包含"作者"的信息
2. 多逻辑运算联结符并列搜索
字符串传递为例子:
1 |
< input type = "hidden" name = "hh" value = "LK,EQ" >
|
2 |
< input type = "hidden" name = "show" value = "title,writer" >
|
3 |
< input type = "hidden" name = "keyboard" value = "标题,作者" >
|
说明:上面为模糊查询title字段包含"标题"字符或者writer字段等于"作者"的信息
字符串传递为例子:
1 |
< input type = "hidden" name = "show[]" value = "title" >
|
2 |
< input type = "hidden" name = "hh[]" value = "LK" >
|
3 |
< input type = "hidden" name = "keyboard[]" value = "标题" >
|
4 |
< input type = "hidden" name = "show[]" value = "writer" >
|
5 |
< input type = "hidden" name = "hh[]" value = "EQ" >
|
6 |
< input type = "hidden" name = "keyboard[]" value = "作者" >
|
说明:上面为模糊查询title字段包含"标题"字符或者writer字段等于"作者"的信息。
一个实际例子
表单设计如下:
01 |
< form action = "[!--news.url--]e/search/index.php" method = "post" name = "searchform" id = "searchform" >
|
02 |
< select name = "classid" id = "" style = "display:none" >
|
03 |
< option value = "59,60,78,79,80,81" selected>全部</ option >
|
05 |
< input type = "hidden" name = "show" value = "title,myarea,mycategory,smalltext" />
|
06 |
< input type = "hidden" name = "tempid" value = "1" />
|
07 |
< table width = "100%" cellspacing = "0" cellpadding = "0" border = "0" >
|
10 |
< td style = " text-align:left;" >地区:
|
11 |
< select name = "area" id = "" >
|
12 |
< option value = "" >不限</ option >
|
13 |
< option value = "香洲" >香洲</ option >
|
14 |
< option value = "吉大" >吉大</ option >
|
15 |
< option value = "拱北" >拱北</ option >
|
16 |
< option value = "新香洲" >新香洲</ option >
|
17 |
< option value = "前山" >前山</ option >
|
18 |
< option value = "南屏" >南屏</ option >
|
19 |
< option value = "金湾" >金湾</ option >
|
20 |
< option value = "斗门" >斗门</ option >
|
24 |
< select name = "category" id = "" >
|
25 |
< option value = "" >不限</ option >
|
26 |
< option value = "58_0" >一房</ option >
|
27 |
< option value = "58_1" >二房</ option >
|
28 |
< option value = "58_2" >三房以上</ option >
|
29 |
< option value = "58_3" >公寓</ option >
|
30 |
< option value = "58_4" >写字楼</ option >
|
31 |
< option value = "58_5" >商铺</ option >
|
32 |
< option value = "58_6" >厂房</ option >
|
38 |
< td style = " text-align:left;" >时间范围: < input name = "starttime" type = "text" value = "2008-08-08" size = "12" onclick = "calendar.show(this);" /> 到 < input type = "text" id = "todayButton" name = "todayButton" value = "" size = "12" onclick = "calendar.show(this);" /> (不选则不限时段)</ td >
|
42 |
< td style = " text-align:left;" >< input name = "keyboard" type = "text" size = "32" value = "" id = "keyboard" class = "inputText" /> < input type = "submit" name = "Submit22" value = " 搜 索 " /></ td >
|
为了可以加入对自定义字段myarea与mycategory的搜索,我们需要对e/search/index.php进行适当改写:
01 |
$keyboard = $_POST [ 'keyboard' ]. ',' . $_POST [ 'area' ]. ',' . $_POST [ 'category' ];
|
04 |
if ( is_array ( $keyboard ))
|
06 |
elseif ( strstr ( $keyboard , ',' ))
|
08 |
$keyboard = explode ( ',' , $keyboard );
|
12 |
$keyboard =trim( $keyboard );
|
13 |
$len = strlen ( $keyboard );
|
14 |
if ( $len < $public_r [min_keyboard]|| $len > $public_r [max_keyboard])
|
16 |
printerror( "MinKeyboard" , $getfrom ,1);
|
OK,完成。
分享到:
相关推荐
10帝国cms搜索表单的调用 11帝国cms 产品列表页的制作 12帝国cms 分页样式的调整 13帝国cms调用TAG标签 14帝国cms产品详情页的制作 15帝国cms新闻列表页制作 16帝国cms新闻内容页调用 17帝国cms 搜索...
帝国cms7.5火车头新闻web发布模块-帝国cms插件.zip
帝国CMS7.5后台模板美化版,一款帝国cms的后台模板,帝国cms其实挺好的,只是那个后台,实在是不忍直视,没点功力的朋友看着都头大!这里给大家分享一款帝国CMS美化版的后台,非常的美观大气,重构界面,操作便捷一...
帝国cms3366小游戏采集规则. 目前的小游戏网站挺火的,结合帝国cms的强大内容管理系统,轻松采集成一套完善的小游戏网站
用帝国cms做站,需要登录的发布模块动不动就过期需要重新登录,非常不方便! 本着服务大众的理念,现在免费制作帝国cms7.2帝国cms7.5火车头文章模型免登陆发布接口模块。 赠人玫瑰,手有余香。希望对大家能有一些...
帝国CMS 帝国影视模板
该产品是淘特站内搜索引擎For 帝国Cms7.0特别定制版,系统安装后,就可以索引、模糊查询帝国Cms7.0的文章数据了(无需连接数据库哦),支持将帝国CMS中所有的模型及相关的表数据索引到搜索引擎中,达到一键全站查询...
注册登录页帝国CMS模板,模板内容强大,简单安装!满足大部分开发环境配置,功能齐全,想要做帝国CMS搭建小伙伴赶紧来抢了!
帝国cms自定义伪静态插件
接口适用于帝国v7.2-utf8开发,适用于帝国CMS所有版本,使用前请注意你的程序版本。对于其它版本可能需稍作修改。 安装 1、将文件放置网站目录任意位置,根据预留在公众账号管理平台的URL放置,无需传任何参数,如...
帝国CMS移动端多端同步生成插件 7.2 7.5均可使用,已亲测
基于微信官方接口demo的帝国CMS微信扫码支付插件,7.2&7.5
帝国cms 帝国cms标签大全 学习帝国cms常用标签
帝国CMS7.5响应式后台美化模板 支持GBK+UTF 1、支持帝国CMS7.5版本,GBK、UTF编码 2、采用ZUI前端框架开发 3、响应式布局,兼容多终端分辨率,包含:1920*1080,1400*900,1366*768,1024*768,1024*1366,768*1024...
插件名称:帝国CMS-前台定时执行刷新任务插件 插件作者:帝国CMS官方 插件介绍:帝国CMS的前台定时执行刷新任务插件,以及可自动执行信息的定时上下线操作,可替代需要开着后台才会执行刷新任务。 官方网站:...
帝国CMS双语中英切换企业网站模板
帝国CMS内容链接付费可见插件,文件完整可运行,discuz扒下来的
帝国CMS百度主动推送插件
帝国CMS 实用标签,适合学习帝国cms的新人下载使用
东坡 帝国cms 7.5 TAGS 高级版插件