在CMS插件中的前端视图模板中有大量使用了自定义标签,咱们在修改或制做模板的时候能够方便快捷的使用自定义标签来调用咱们相关的数据。php
标签库位于/addons/cms/taglib/Cms.php
文件,咱们能够看到标签库有定义可调用的标签和属性,以下html
protected $tags = [ // 标签订义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次 'channel' => ['attr' => 'name', 'close' => 0], 'archives' => ['attr' => 'name', 'close' => 0], 'tags' => ['attr' => 'name', 'close' => 0], 'block' => ['attr' => 'id,name', 'close' => 0], 'config' => ['attr' => 'name', 'close' => 0], 'page' => ['attr' => 'name', 'close' => 0], ... ];
固然上面只是定义,其中有两个参数须要关注下如下,attr
指标签用调用的属性,close
指是否须要闭合,alias
和level
暂未使用。如下是详细的标签使用和参数介绍前端
标签介绍:用于调用栏目的字段信息
适用范围:频道页、列表页、详情页
调用示例:小程序
//栏目ID {cms:channel name="id" /} //栏目名称 {cms:channel name="name" /} //栏目图片 {cms:channel name="image" /}
标签介绍:用于显示文档主表和副表字段信息
适用范围:详情页
调用示例:缓存
//文档查看次数 {cms:archives name="views" /} //文档发布时间 {cms:archives name="createtime|date='d',###" /} //文档内容 {cms:archives name="content" /} //调用副表字段 example1 {cms:archives name="example1" /}
标签介绍:用于显示标签字段信息
适用范围:标签页
调用示例:app
//标签名称 {cms:tags name="name" /} //标签文档数 {cms:tags name="archives" /}
标签介绍:用于调用显示区块信息,自动判断区块内容来显示图片或文本连接
适用范围:所有
调用示例:框架
//经过区块ID来调用显示区块 {cms:block id="1" /} //经过名称Name来调用显示区块 {cms:block name="bannerad" /}
标签介绍:用于调用框架的配置信息
适用范围:所有
调用示例:url
//调用站点名称 {cms:config name="site.name" /} //调用备案信息 {cms:config name="site.beian" /} //调用当前调试状态 {cms:config name="app_debug" /}
标签介绍:用于调用单调的字段信息
适用范围:单页详情页
调用示例:.net
//调用单页标题 {cms:page name="title" /} //调用单页内容 {cms:page name="content" /}
标签介绍:用于调用导航栏信息
适用范围:所有
标签参数:插件
maxlevel:最大调用的层级 condition:筛选条件,可以使用SQL字段筛选 cache:缓存时长,为0则不缓存
调用示例:
//控制最大层级为3层的导航栏列表,且不缓存 {cms:nav maxlevel="3" cache="0" /} //调用模型为1的第一层栏目列表 {cms:nav maxlevel="1" condition="model_id=1" /}
标签介绍:用于调用当前文档的上下篇文章
适用范围:文档详情页
标签参数:
id:循环变量名 type:类型,prev=上一篇,next=下一篇 archives:文档的ID channel:栏目的ID
调用示例:
//调用上一篇文章 {cms:prevnext id="prev" type="prev" archives="__ARCHIVES__.id" channel="__CHANNEL__.id"} //文章URL {$next.url} //文章标题 {$next.title} {/cms:prevnext} //调用下一篇文章 {cms:prevnext id="next" type="next" archives="__ARCHIVES__.id" channel="__CHANNEL__.id"} //文章URL {$next.url} //文章标题 {$next.title} {/cms:prevnext}
标签介绍:用于调用CMS内的区块列表,经常使用于幻灯片调用
适用范围:所有
标签参数:
id:循环变量名 key:循环索引名 row:行数 limit:行数 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等 cache:缓存时间,为0则不缓存,为true则永久缓存 orderby:排序字段,支持id,name,createtime,updatetime,rand(随机) orderway:排序方式,asc=正序,desc=倒序 imgwidth:图片宽度 imgheight:图片高度 condition:筛选条件,可以使用SQL字段筛选 name:指定区块的名称
调用示例:
//调用name为focus的5条区块数据列表 {cms:blocklist id="block" name="focus" row="5"} //能够在标签内启用block表的全部字段数据 {$block.title} {$block.id} {$block.content} {/cms:blocklist}
标签介绍:用于调用文档或单页的评论列表
适用范围:详情页、单页详情页
标签参数:
id:循环变量名 key:循环索引名 row:行数 limit:行数 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等 cache:缓存时间,为0则不缓存,为true则永久缓存 orderby:排序字段,支持id,name,createtime,updatetime,rand(随机) orderway:排序方式,asc=正序,desc=倒序 imgwidth:图片宽度 imgheight:图片高度 condition:筛选条件,可以使用SQL字段筛选 type:类型,支持page=单页,archives=文档 aid:单页或文档ID pid:父评论ID fragment:锚点元素ID
调用示例:
{cms:commentlist id="comment" type="[type]" aid="$aid" pagesize="10"} //这里面能够调用cms_comment表的全部字段数据 {$comment.id} {$comment.createtime|human_date} {$comment.content} //还能够调用user表的数据 {$comment.user.id} {$comment.user.avatar} {$comment.user.nickname} {/cms:commentlist}
标签介绍:用于调用当前文档或栏目的面板屑
适用范围:所有
标签参数:
id:循环变量名 key:循环索引名 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等
调用示例:
{cms:breadcrumb id="item"} //连接文字 {$item.name} //连接地址 {$item.url} {/cms:breadcrumb}
标签介绍:用于调用栏目的列表
适用范围:所有
标签参数:
id:循环变量名 key:循环索引名 row:行数 limit:行数 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等 cache:缓存时间,为0则不缓存,为true则永久缓存 orderby:排序字段,支持id,createtime,updatetime,rand(随机),weigh(权重) orderway:排序方式,asc=正序,desc=倒序 imgwidth:图片宽度 imgheight:图片高度 condition:筛选条件,可以使用SQL字段筛选 model:模型ID field:调用字段,默认为* type:指定类型,top=顶级栏目,brother=兄弟栏目,son=子栏目,sons=子孙栏目 typeid:指定类型关联的ID,若是type为空,这里可指定栏目的ID集合
调用示例:
{cms:channellist id="channel" type="son" typeid="$__CHANNEL__.id"} //这里面能够调用cms_channel表的全部字段数据及其它扩展信息 {$channel.name} {$channel.id} //栏目组合连接 {$channel.textlink} //栏目连接 {$channel.url} //是否有缩略图 {$channel.hasimage} //图片组合连接 {$channel.imglink} //图片HTML {$channel.img} {/cms:channellist}
标签介绍:用于调用文档的列表
适用范围:所有
标签参数:
id:循环变量名 key:循环索引名 row:行数 limit:行数 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等 cache:缓存时间,为0则不缓存,为true则永久缓存 orderby:排序字段,支持id,createtime,updatetime,rand(随机),weigh(权重),views(浏览次数) orderway:排序方式,asc=正序,desc=倒序 imgwidth:图片宽度 imgheight:图片高度 condition:筛选条件,可以使用SQL字段筛选 model:模型ID channel:栏目ID或栏目ID集合 tags:标签 addon:副本字段集,若是为true则表示全部副表字段,多个字段以,进行分隔 field:调用字段,默认为* flag:标志
调用示例:
{cms:arclist id="item" row="8" orderby="id" orderway="desc"} //这里面能够调用cms_archives表的全部字段数据,若是启用了addon属性还能够调用副表数据 {$item.title} {$item.image} {$item.keywords} //是否有预览图 {$item.hasimage} //文档组合连接 {$item.textlink} //文档连接 {$item.url} //栏目组合连接 {$item.channellink} //图片组合连接 {$item.imglink} //图片HTML {$item.img} {/cms:arclist}
标签介绍:用于调用标签的列表
适用范围:所有
标签参数:
id:循环变量名 key:循环索引名 row:行数 limit:行数 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等 cache:缓存时间,为0则不缓存,为true则永久缓存 orderby:排序字段,支持id,createtime,updatetime,rand(随机),weigh(权重),views(浏览次数) orderway:排序方式,asc=正序,desc=倒序 imgwidth:图片宽度 imgheight:图片高度 condition:筛选条件,可以使用SQL字段筛选 field:调用字段,默认为*
调用示例:
{cms:tagslist id="tag" orderby="rand" limit="30"} //标签名称 {$tags.name} //文档连接 {$tags.url} //文档数 {$tags.archives} {/cms:tagslist}
标签介绍:用于在列表页显示筛选信息的列表
适用范围:列表页
标签参数:
id:循环变量名 key:循环索引名 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等
调用示例:
{cms:pagefilter id="filter" exclude=""} //组标题 {$filter.title} //一般筛选标签须要配置volist来显示过滤的详细选项 {volist name="$filter.content" id="item"} //当前选项是否选中 {$item.active} //筛选项URL {$item.url} //筛选项名称 {$item.title} {/volist} {/cms:pagefilter}
标签介绍:用于在列表页显示排序信息的列表
适用范围:列表页
标签参数:
id:循环变量名 key:循环索引名 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等
调用示例:
{cms:pageorder id="order"} //是否当前选中项 {$order.active?'active':''} //排序连接 {$order.url} //排序名称 {$order.title} {/cms:pageorder}
标签介绍:用于在列表页显示当前的类别下分页后的文档列表信息,此标签和arclist的标签区别在于此标签是指定当前栏目下的文档数据,是计算过度页的
适用范围:列表页
标签参数:
id:循环变量名 key:循环索引名 empty:为空时显示的信息 mod:取模基数,经常使用于控制多少条数据后换行、变色等
调用示例:
{cms:pagelist id="item"} //这里面能够调用cms_archives表的全部字段数据,若是启用了addon属性还能够调用副表数据 {$item.title} {$item.image} {$item.keywords} //是否有预览图 {$item.hasimage} //文档组合连接 {$item.textlink} //文档连接 {$item.url} //栏目组合连接 {$item.channellink} //图片组合连接 {$item.imglink} //图片HTML {$item.img} {/cms:pagelist}
标签介绍:用于在列表页显示分页信息
适用范围:列表页
标签参数:
type:保留参数
调用示例:
{cms:pageinfo type="full" /}
标签介绍:用于在文档页显示评论分页信息
适用范围:文档详情页
标签参数:
type:保留参数
调用示例:
{cms:commentinfo type="full" /}