PbootCMS 信息标签库
点击标签或代码块即可复制,方便快速开发
关于手册
熟悉PbootCMS手册是使用本程序开发模板的前提,虽然我们尽可能把所有标签做到简单到想哭,但是还是需要您静下心来好好看看!
后台访问
系统后台默认访问路径:http://域名/admin.php 账号:admin 密码:123456
快速部署
系统自带完整后台以及一套响应式模板,默认采用Sqlite数据库,放入PHP(7.0+~8.0-)环境即可直接使用。
数据库选择
默认采用sqlite数据库,不需要做导入和配置操作。如果需要启用mysql版本,请导入数据库文件(/static/backup/sql/xxx.sql)并修改数据库连接文件信息(/config/database.php)
在线演示
点击浏览演示站(只能看前台,后台不允许登陆)
{include file=***.html}可嵌套使用,支持子目录:{include file=comm/***.html}
style=*
如:内容列表时间格式化 [list:date style=Y-m-d]
内容详情页时间格式化 {content:date style=Y-m-d}Y完整年份 / y简化年份 / m月份 / d日 / H小时 / i分 / s秒
示例:style='Y-m-d H:i:s'
drophtml=1
如:[list:content drophtml=1]、{content:content drophtml=1}长度截取使用len=* 或 lencn=*
(V1.3.5+)内容截取时可使用more='*'设置省略号
substr=x,y 截取一段
如:[list:title len=10]
如:[list:content drophtml=1 len=50]dropblank=1 去除空白字符
decode=1 解码数据html字符
decimal=* 小数点位数
unit=* 容量单位,可以是kb,mb,gb,tb,pb,eb
operate=** 数字运算(支持+-*/%)
lfield="a,b" (V2.0.5)限制列表数据查询字段
mark=1 (V2.0.5)对搜索结果关键字标红{label:***}在后台"全局配置>定制标签"中定义,前台使用对应名字进行调用即可。
{pboot:position}参数:separator=* 分隔符非必填,默认为>> separatoricon=* 分割图标 indextext=* 首页文本 indexicon=* 首页图标
{pboot:httpurl}自适应获取当前访问网址,如输出:https://www.pbootcms.com
{pboot:pageurl}自适应获取当前访问页面完整地址
{pboot:qrcode string=***}示例:{pboot:qrcode string={pboot:httpurl}{content:link}}
{pboot:runtime}{pboot:checkcodestatus}http://www.xxx.com/sitemap
http://www.xxx.com/sitemap.xml
http://www.xxx.com/sitemap.txt系统使用动态站点地图,不需要生成,访问地址即为实时地图。
图片缩放及裁剪总共四个参数:
参数:width=* height=* maxwidth=* maxheight=*
使用方式,如:[list:ico width=100]四个参数可以组合使用,会生成改变大小的缓存图片。如果不想改变大小及裁切图片,只是想缩放显示,那么请使用CSS进行控制即可。
适用范围:全站任意地方均可使用 标签作用:用于调取网站与公司相关的信息,对应后台的"基础内容>公司信息"
| 标签(点击复制) | 说明 |
|---|---|
| {pboot:companyname} | 公司名称 |
| {pboot:companyaddress} | 公司地址 |
| {pboot:companypostcode} | 邮政编码 |
| {pboot:companycontact} | 联系人 |
| {pboot:companymobile} | 联系手机 |
| {pboot:companyphone} | 联系电话 |
| {pboot:companyfax} | 传真号码 |
| {pboot:companyemail} | 联系邮箱 |
| {pboot:companyqq} | QQ号码 |
| {pboot:companyweixin} | 微信图标 |
| {pboot:companyblicense} | 营业执照号 |
| {pboot:companyother} | 其它信息 |
适用范围:全站任意地方均可使用 标签作用:用于调取网站的基本配置信息,对应后台的"基础内容>站点信息"
| 标签(点击复制) | 说明 |
|---|---|
| {pboot:siteindex} | 站点入口地址,用于地址前置引用 |
| {pboot:sitepath} | 站点路径,根目录时值为空 |
| {pboot:sitelanguage} | 站点语言 |
| {pboot:sitetitle} | 站点标题 |
| {pboot:sitesubtitle} | 站点副标题 |
| {pboot:sitedomain} | 站点域名 |
| {pboot:sitelogo} | 站点logo |
| {pboot:sitekeywords} | 站点关键字 |
| {pboot:sitedescription} | 站点描述 |
| {pboot:siteicp} | 站点备案信息 |
| {pboot:sitetplpath} | 站点模板路径 |
| {pboot:sitestatistical} | 站点统计 |
| {pboot:sitecopyright} | 站点版权 |
V1.1.6+新增如下标签,推荐使用
{pboot:pagetitle} 根据不同页面自动显示标题
{pboot:pagekeywords} 根据不同页面自动显示关键字
{pboot:pagedescription} 根据不同页面自动显示描述
适用范围:在列表页或详情页使用 标签作用:用于输出当前栏目的相关信息
| 标签(点击复制) | 说明 |
|---|---|
| {sort:tcode} | 当前栏目的顶级栏目编码 |
| {sort:topname} | 当前栏目的顶级栏目名称 |
| {sort:toplink} | 当前栏目的顶级栏目链接 |
| {sort:pcode} | 当前栏目的父栏目编码 |
| {sort:parentname} | 当前栏目的父栏目名称 |
| {sort:parentlink} | 当前栏目的父栏目链接 |
| {sort:scode} | 当前栏目编码 |
| {sort:name} | 栏目名称 |
| {sort:subname} | 栏目副名称 |
| {sort:link} | 栏目链接 |
| {sort:type} | 栏目类型,1单页、2列表 |
| {sort:outlink} | 后台设置的跳转链接 |
| {sort:ico} | 栏目缩略图 |
| {sort:pic} | 栏目大图 |
| {sort:title} | 栏目标题(V1.3+) |
| {sort:keywords} | 栏目关键字 |
| {sort:description} | 栏目描述 |
| {sort:def1} | 栏目描述1(V3.0.6+) |
| {sort:def2} | 栏目描述2(V3.0.6+) |
| {sort:def3} | 栏目描述3(V3.0.6+) |
适用范围:全站任意地方均可使用 标签作用:用于调导航菜单栏目列表
{pboot:sort scode=*}
<a href="[sort:link]">[sort:name]</a>
{/pboot:sort}控制参数:scode=* 栏目编码,必填,支持多个用逗号隔开(V1.1.6+)
适用范围:指定栏目编码时全站可用,适用当前列表 标签作用:用于调取指定栏目的内容列表或自动当前列表
{pboot:list}
<a href="[list:link]">[list:title]</a>
{/pboot:list}只能在列表页面使用,带分页,同一个页面只能使用一次。参数:num=* 每页数量 order=* 排序方式 filter=*|x,y 数据过滤 isrecommend=1 只调推荐 tags='x,y' start=* 起始数据
{pboot:list scode=*}
<a href="[list:link]">[list:title]</a>
{/pboot:list}全站可用,多个栏目编码使用逗号隔开,使用星号意味全部栏目。scode={sort:scode} 调用当前栏目避免分页冲突。
| 标签(点击复制) | 说明 |
|---|---|
| [list:n] | 计数0开始 |
| [list:i] | 计数1开始 |
| [list:id] | 编号 |
| [list:scode] | 栏目编码 |
| [list:subscode] | 副栏目编码 |
| [list:sortname] | 栏目名称 |
| [list:link] | 链接 |
| [list:title] | 标题 |
| [list:subtitle] | 副标题 |
| [list:tags] | 直接输出tags |
| [list:author] | 作者 |
| [list:source] | 来源 |
| [list:date] | 发布日期 |
| [list:ico] | 缩略图 |
| [list:pics] | 多图,V2.0.2新增 |
| [list:content] | 内容 |
| [list:enclosure] | 附件 |
| [list:enclosuresize] | 附件大小 |
| [list:keywords] | 关键词 |
| [list:description] | 描述 |
| [list:istop] | 是否置顶 |
| [list:isrecommend] | 是否推荐 |
| [list:isheadline] | 是否头条 |
| [list:visits] | 访问数量 |
| [list:likes] | 点赞数量 |
| [list:oppose] | 反对数量 |
| [list:likeslink] | 点赞链接 |
| [list:opposelink] | 反对链接 |
| [list:ext_***] | 调取扩展字段内容 |
| 标签(点击复制) | 说明 |
|---|---|
| {page:bar} | 系统内置的完整分页条 |
| {page:current} | 当前页码 |
| {page:count} | 总页数 |
| {page:rows} | 总数据行数 |
| {page:index} | 首页链接 |
| {page:pre} | 前一页链接 |
| {page:next} | 下一页链接 |
| {page:last} | 尾页链接 |
| {page:status} | 分页状态信息 |
| {page:numbar} | 数字条,数字带class名称为page-num,当前同时带page-num-current |
| {page:selectbar} | 下拉选择条 |
自带class名称:page-status, page-index, page-pre, page-next, page-last, page-numbar, page-num, page-num-current
适用范围:在内容详情页使用,包括单页和列表点击后的详情页
| 标签(点击复制) | 说明 |
|---|---|
| {content:id} | 编号 |
| {content:scode} | 栏目编码 |
| {content:title} | 标题 |
| {content:author} | 作者 |
| {content:source} | 来源 |
| {content:link} | 链接 |
| {content:date} | 发布日期 |
| {content:ico} | 缩略图 |
| {content:pics} | 多图,V2.0.2+ |
| {content:content} | 内容 |
| {content:tags} | 直接输出tags |
| {content:enclosure} | 附件 |
| {content:keywords} | 关键词 |
| {content:description} | 描述 |
| {content:istop} | 是否置顶 |
| {content:isrecommend} | 是否推荐 |
| {content:isheadline} | 是否头条 |
| {content:visits} | 访问数量 |
| {content:likes} | 点赞数量 |
| {content:oppose} | 反对数量 |
| {content:likeslink} | 点赞链接 |
| {content:opposelink} | 反对链接 |
| {content:ext_***} | 调取扩展字段 |
| {content:precontent} | 上一篇内容(带链接) |
| {content:nextcontent} | 下一篇内容(带链接) |
| {content:prelink} | 上一篇内容链接 |
| {content:nextlink} | 下一篇内容链接 |
| {content:pretitle} | 上一篇内容标题 |
| {content:nexttitle} | 下一篇内容标题 |
| {content:preico} | 上一篇缩略图(V2.0+) |
| {content:nextico} | 下一篇缩略图(V2.0+) |
{pboot:content id=*}
<a href="[content:link]">[content:title]</a>
{/pboot:content}控制参数:id=* 内容ID号必填 scode=* 单页分类编码,只适用单页内容
{pboot:pics id=* num=*}
<img src="[pics:src]" alt="[pics:title]">
{/pboot:pics}控制参数:id=* 内容ID号,必填,也可使用id={content:id}、id=[list:id] | num=* 数量非必填 | field=* 多图字段名称(V3.1.0+)
{pboot:tags scode=*,*}
<a href="[tags:link]">[tags:text]</a>
{/pboot:tags}{pboot:tags id=*}
<a href="[tags:link]">[tags:text]</a>
{/pboot:tags}scode=* 栏目编码 id=* 内容ID支持id=[list:id] num=* 数量 target=tag(V2.0.6+)
{pboot:checkbox id=* field=*}
[checkbox:text]
{/pboot:checkbox}控制参数:id=* 内容ID号,必填 field=* 字段,必填,如扩展字段:ext_cpts
{pboot:slide gid=* num=*}
<img src="[slide:src]">
{/pboot:slide}控制参数:gid=* 分组必填 num=* 数量非必填,默认为5个
| 标签 | 说明 |
|---|---|
| [slide:pic] | 图片地址 |
| [slide:link] | 链接地址 |
| [slide:title] | 标题 |
| [slide:subtitle] | 副标题 |
{pboot:link gid=* num=*}
<a href="[link:link]" title="[link:name]"><img src="[link:logo]"></a>
{/pboot:link}控制参数:gid=* 分组必填 num=* 数量非必填,默认为10个
| 标签 | 说明 |
|---|---|
| [link:name] | 链接名称 |
| [link:link] | 链接地址 |
| [link:logo] | 链接Logo图 |
<form action="{pboot:msgaction}" method="post">
联系人:<input type="text" name="contacts">
手机:<input type="text" name="mobile">
内容:<input type="text" name="content">
验证码:<input type="text" name="checkcode">
<img src="{pboot:checkcode}" onclick="this.src='{pboot:checkcode}?'+Math.round(Math.random()*10);">
<button type="submit">提交</button>
</form>[message:content]
\n{/pboot:message}")">点击复制{pboot:message num=*}
<p>[message:contacts]</p>
<p>[message:content]</p>
{/pboot:message}调取的留言记录默认执行分页,使用内容列表的分页代码即可。参数:num=* 分页大小 page=* 是否分页 lg=* 语言(V1.3.7+)
<form action="{pboot:form fcode=*}" method="post">
姓名:<input type="text" name="name">
性别:<input type="radio" value="男" name="sex">男 <input type="radio" value="女" name="sex">女
爱好:<input type="checkbox" value="篮球" name="like[]">篮球 <input type="checkbox" value="足球" name="like[]">足球
<button type="submit">提交</button>
</form>表单提交方式为post,字段名称需与后台自定义表单中添加的字段一致。多选类型用中括号:name="like[]"
{pboot:formlist fcode=* num=*}
<p>姓名:[form:name]</p>
{/pboot:formlist}控制参数:fcode=* 表单编码必填 num=* 分页大小 page=* 是否分页
<form action="{pboot:scaction}" method="get">
关键字:<input type="text" name="keyword">
<button type="submit">搜索</button>
</form>{pboot:search}
<a href="[search:link]">[search:title]</a>
{/pboot:search}搜索结果页模板 search.html。当前搜索内容:{pboot:keyword} 关键字标红:[search:title mark=1]
{pboot:selectall field=* text=全部 class='btn' active='active'}
{pboot:select field=*}
<a href="[select:link]">[select:value]</a>
{/pboot:select}选中值高亮:{pboot:if('[select:value]'=='[select:current]')}class="active"{/pboot:if}
当前语言高亮:{pboot:if('{pboot:sitelanguage}'=='cn')}class="active"{/pboot:if}
{pboot:if('a'=='b')}
内容1
{else}
内容2
{/pboot:if}支持符号:>、>=、!=、==、<=、<、&&、||、% 嵌套用数字递增:{pboot:2if} / {2else} / {/pboot:2if}
{pboot:loop start=* end=*}
<p>第[loop:i]次,索引[loop:index]</p>
{/pboot:loop}控制参数:start=* 起始数字,默认1开始 end=* 结束数字,必填
V3.2.4 build 2023-03-04开始已不再支持该标签(安全性修复)
{pboot:sql sql="SELECT * FROM ay_content WHERE 1=1"}
[sql:字段名称]
{/pboot:sql}用于远程调取系统数据,使用小程序、公众号、APP等。要求携带appid、timestamp、signature三个参数
var url='/api.php/cms/site';
$.ajax({
type:'POST',url:url,dataType:'json',
data:{appid:'{pboot:appid}',timestamp:'{pboot:timestamp}',signature:'{pboot:signature}'},
success:function(r){if(r.code){alert(r.data.title);}}
});| 接口 | 地址(点击复制) |
|---|---|
| 网站信息 | /api.php/cms/site |
| 公司信息 | /api.php/cms/company |
| 自定义标签 | /api.php/cms/label |
| 栏目列表树 | /api.php/cms/nav |
| 栏目位置 | /api.php/cms/position/scode/* |
| 指定分类 | /api.php/cms/sort/scode/* |
| 内容多图 | /api.php/cms/pics/id/* |
| 幻灯片 | /api.php/cms/slide/gid/*/num/* |
| 友情链接 | /api.php/cms/link/gid/*/num/* |
| 内容列表 | /api.php/list/* |
| 内容详情 | /api.php/content/* |
| 单页详情 | /api.php/about/* |
| 搜索 | /api.php/cms/search |
| 留言提交 | /api.php/cms/addmsg |
| 表单提交 | /api.php/cms/addform/fcode/* |
| 表单数据 | /api.php/cms/form/fcode/* |
多语言时附加acode参数:/api.php/cms/site/acode/en