pbootcms开源免费PHP建站系统开发手册之多条件搜索!熟悉PbootCMS手册是使用本程序开发模板的前提,虽然我们尽可能把所有标签做到简单到想哭,但是还是需要您静下心来好好看看!
适用范围:内容列表页使用,其实也可以用在首页等
标签作用:用于执行站内搜索功能
最简单的搜索示例
<form action="{pboot:scaction}" method="get">
关键字:<input type="text" name="keyword" >
<button type="submit">搜索</button>
</form>
表单提交方式为get.
使用说明:
{pboot:scaction} 为搜索提交地址
注意:表单提交方式为get,此表单默认匹配title标题字段
定义搜索字段示例
<form action="{pboot:scaction}" method="get">
关键字:<input type="text" name="keyword" >
<input type="hidden" name="field" value="title" >
<button type="submit">搜索</button>
</form>
或者
<form action="{pboot:scaction}" method="get">
<select name="field">
<option value="title">内容标题</option>
<option value="content">内容详情</option>
</select>
关键字:<input type="text" name="keyword" >
<button type="submit">搜索</button>
</form>
通过添加隐藏域传递field值来控制搜索的字段,也可以同时设置多个字段,如: value=”title|content” ,当然这只是方式之一,后面还有!
定义更多搜索条件示例
<form action="{pboot:scaction}" method="get">
关键字:<input type="text" name="keyword" >
<input type="hidden" name="field" value="title" >
<input type="hidden" name="scode" value="2,3" >
<button type="submit">搜索</button>
</form>
这里只定义搜索的字段和搜索的分类,其实你可以定义更多数据库中任意可用的字段。
如author为admin的
name="author" value="admin"
当然你可以使用非隐藏域,那么就相当于综合搜索类型。
如果需要定义的scode分类有多个,可以用逗号隔开,同时需要注意,如果表单传递的分类和字段无效时,要考虑结果页循环是否做了限制。
(V1.3.7+)如果有多个搜索表单想定义不同的结果页模板,那么可以传递searchtpl字段来定义模板页,如:
<input type="hidden" name="searchtpl" value="test.html" >
多条件综合搜索示例
<form action="{pboot:scaction}" method="get">
内容:<input type="text" name="content" >
标题:<input type="text" name="title" >
作者:<input type="text" name="author" >
<input type="hidden" name="scode" value="2,3" >
<button type="submit">搜索</button>
</form>
这里自定义了三个字段,其实你可以定义更多数据库中任意可用的字段。
如果URL采用兼容模式,这时候搜索应该使用POST,或者在首行添加隐藏域。
<input type="hidden" name="search" >
搜索结果列表
{pboot:search}
<a href="[search:link]">[search:title]</a>
{/pboot:search}
使用说明
搜索结果页面使用模板search.html
num=* 每页数量,非必填,用于控制分页大小
order=* 排序方式,非必填,用于输出内容的排序方式,可选:date、sorting、istop、isrecommend、isheadline、visits、likes、oppose等字段,其中sorting为按后台填写的排序,122版本开始支持自定义模式,如:order='date desc,id desc' 、order='sorting desc,id desc',(V1.3.7+)还支持random随机排序
scode=* 分类编码,非必填,加前面说的方式,此作为第二种限制搜索分类的方式,多个分类用逗号隔开,如: scode='2,3,4'
field=* 字段限制,非必填,在使用了keyword时用于限定匹配的数据库字段,多个字段用竖线隔开即可,如:field='title|content'
filter=*|x,y 数据过滤,非必填,用于对列表内容进行过滤筛选,如:filter=title|ASP,PHP 只显示标题含有ASP和PHP的内容
fuzzy=* 是否模糊匹配,非必填,可选1或0,1时为默认的模糊匹配,0则关闭
搜索结果默认执行分页,使用内容列表的分页代码即可.
搜索结果列表可用标签
获取当前搜索内容:
{pboot:keyword}
对搜索结果关键字进行标红 mark=1 (V2.0.5新增),如:
[search:title mark=1]
标签 | 使用说明 |
[search:n] | 序号从0开始 |
[search:i] | 序号从1开始 |
[search:id] | 编号 |
[search:scode] | 分类编码 |
[search:subscode] | 副分类编码 |
[search:sortname] | 分类名称 |
[search:subsortname] | 副分类名称 |
[search:sortlink] | 分类链接 |
[search:subsortlink] | 副分类链接 |
[search:title] | 标题 |
[search:titlecolor] | 标题颜色 |
[search:subtitle] | 副标题 |
[search:author] | 作者 |
[search:source] | 来源 |
[search:link] | 链接 |
[search:outlink] | 外部链接 |
[search:date] | 发布日期 |
[search:ico] | 缩略图 |
[search:pics] | 多图 |
[search:content] | 内容 |
[search:enclosure] | 附件 |
[search:enclosuresize] | 附件大小 |
[search:keywords] | 关键词 |
[search:description] | 描述 |
[search:istop] | 是否置顶 |
[search:isrecommend] | 是否推荐 |
[search:isheadline] | 是否头条 |
[search:visits] | 访问数量 |
[search:likes] | 点赞数量 |
[search:oppose] | 反对数量 |
[search:likeslink] | 点赞链接 |
[search:opposelink] | 反对链接 |