为防止影响当前模版,建议先删除系统默认模版数据。删除顺序为:
- 内容管理中删除所有文章;
- 栏目管理中删除所有栏目;
- 模型管理中删除所有模型;
- 区块管理中删除区块;
- 单页管理中删除单页;
为方便站点完成后信息的统一管理和权限分配,不太建议在开发的过程中使用配置标签。因为配置标签的内容需要在插件管理中进行设置,一般比较适用于,一次设置后基本不会发生改变的值或者参数,比如模版名称,首页访问路径等等。所以页面中读取的内容不建议使用配置标签。
{cms:config name="xxxx"}
区块标签block、blocklist
- 使用场景:
- 站点通用内容,如:网站名称,网站底部信息(备案信息,联系电话,logo等),子页面的banner;
- 每个页面独有内容,如:主页的轮播图;
- 页面上的补充内容,如:不同列表页面需要显示的内容或者图片。
- 后台操作:
- CMS管理→区块管理→添加
- 字段信息:
类型:建议使用中文,简单的理解为对区块管理的分类,根据页面或者信息的展示方式来进行定义;
名称:建议使用英文,页面模版中标签调用的名称,可以重复组成列表信息进行调用;
标题、图片、链接、内容:这四个字段为自定义内容部分根据需要进行使用,可以只使用一个或者使用多个,具体看信息需求,当只填写其中一个时可以直接通过block单标签进行调用,系统会自动识别已经填写的单个内容。当使用多个时需要通过blocklist标签进行调用。
- 标签使用:
- block标签,在页面中使用时通过id调用或者通过名称调用(名称最好能保持唯一)。
{cms:block id="标签ID" /}
{cms:block name="名称" /}
- blocklist标签,在页面中使用时通过名称调用,如果为列表内容时需要名称保持一致,如果为单标签需要获取多种内容时名称最好保持唯一。
- block标签,在页面中使用时通过id调用或者通过名称调用(名称最好能保持唯一)。
{cms:blocklist id="block" name="指定区块的名称" row="显示行数" cache="缓存时间,调试阶段建议设置为0"}
{$block.title}//标题
{$block.id}//id
{$block.content}//内容
{$block.image}//图片
{$block.url}//链接
{/cms:blocklist}
标签参数
id:循环变量名
name:指定区块的名称
row:行数
cache:缓存时间,为0则不缓存,为true则永久缓存
key:循环索引名
limit:行数
empty:为空时显示的信息
mod:取模基数,常用于控制多少条数据后换行、变色等
orderby:排序字段,支持id,name,createtime,updatetime,rand(随机)
orderway:排序方式,asc=正序,desc=倒序
imgwidth:图片宽度
imgheight:图片高度
condition:筛选条件,可使用SQL字段筛选
单页标签page
- 使用场景:
- 单页文章,如:临时的说明页,联系我们等;
- 不需要文章列表的文章,如:导航栏文章等;
- 后台操作:
- CMS管理→单页管理→添加
- 字段信息:
类型:建议使用中文,简单的理解为对单页管理的分类,根据页面或者信息的展示方式来进行定义;
标题、标志、图片、内容、关键字、描述:为标签内容,自定义输入即可;
自定义:单页文章访问时的路劲文件名称,不能重复,页面的相对路劲为:/p/自定义名称;
视图模版:模版文件名称必须以page开头,直接下拉选择对应的模版即可;
权重:排序顺序; - 单页模版进行添加之后直接在列表页点击Url即可访问;
- 标签使用:
- 单页标签在对应的模版中使用时,直接用标签调用对应信息的名称即可。调用时的字段名称可以直接在数据表fa_cms_page中查看;
{cms:page name="title" /} //标题
{cms:page name="content" /} //内容
{cms:page name="image" /} //图片
{cms:page name="keywords" /} //关键字
{cms:page name="description" /} //描述
表结构
CREATE TABLE `fa_cms_page` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`category_id` int(10) NOT NULL DEFAULT '0' COMMENT '分类ID',
`type` varchar(50) NOT NULL DEFAULT '' COMMENT '类型',
`title` varchar(50) NOT NULL DEFAULT '' COMMENT '标题',
`keywords` varchar(255) NOT NULL DEFAULT '' COMMENT '关键字',
`description` varchar(255) NOT NULL DEFAULT '' COMMENT '描述',
`flag` set('hot','index','recommend') NOT NULL DEFAULT '' COMMENT '标志',
`image` varchar(255) NOT NULL DEFAULT '' COMMENT '头像',
`content` text COMMENT '内容',
`icon` varchar(50) NOT NULL DEFAULT '' COMMENT '图标',
`views` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点击',
`likes` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点赞',
`dislikes` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点踩',
`comments` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '评论',
`diyname` varchar(50) NOT NULL DEFAULT '' COMMENT '自定义',
`showtpl` varchar(50) NOT NULL DEFAULT '' COMMENT '视图模板',
`createtime` int(10) DEFAULT NULL COMMENT '创建时间',
`updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
`weigh` int(10) NOT NULL DEFAULT '0' COMMENT '权重',
`status` varchar(30) NOT NULL DEFAULT '' COMMENT '状态',
PRIMARY KEY (`id`),
KEY `type` (`type`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='单页表';
代码实例
<aside id="fh5co-hero" class="js-fullheight">
<div class="flexslider js-fullheight">
<ul class="slides">
<li>
<div class="row">
<div class="col-md-12 js-fullheight">
<img class="js-fullheight" src="{cms:page name='image'/}" style="object-fit:cover"/>
</div>
</div>
</li>
</ul>
</div>
</aside>
栏目标签channel、channellist
- 使用场景:
- 网站导航,可以实现站点导航的动态新增和删除;
- 文章列表页;
- 文章详情页;
- 后台操作:
- 根据文章需求添加栏目模型,CMS管理→模型管理→添加
- 字段信息:
模型名称:根据需求自定义即可,建议和栏目名称保持一致;
表名:建议使用cms_addon_[栏目名称英文];
栏目模版:模版文件必须以channel为开头的命名方式,如果不需要栏目模版可以不选;
列表模版:模版文件必须以list为开头的命名方式,列表模版必选;
详情页模版:模版文件必须以show为开头的命名方式,如果不需要详情模版可以不选; - 自定义模型字段信息,如果文章中的基础信息无法满足文章详情的需求,可以在模型管理中自定义缺失的字段信息;
- 新增栏目;CMS管理→栏目管理→添加;
- 字段信息
类型:栏目,列表,外部链接,根据自己的需求进行选择即可,如果站点上有单页导航可以选择外部链接;
模型ID、上级栏目、名称、图片、关键字、描述、栏目模版:根据自己的需求进行选择,填写;
自定义名称:栏目的访问路劲,建议使用栏目名称的英文,相对路劲为:/c/自定义名称;
- 标签使用:
- 在导航栏中的使用;
<nav id="fh5co-main-menu" role="navigation">
<ul>
{cms:channellist id="nav" type="top" condition="1=isnav" cache="0"}
<!-- 判断是否有子栏目,如果有子栏目则采用二级菜单,如果没有则采用一级菜单 -->
{if $nav.has_child}//判断当前一级栏目下是否有子栏目
<li class="znav">
<a class="fist-menu {if $nav->is_active} fh5co-active {/if}" href="#">{$nav.name}</a>//判断当前栏目是否被选中
<ul class="znav-list">
{cms:channellist id="item" type="son" typeid="$nav['id']" condition="1=isnav" cache="0"}
<li><a class="fist-menu {if $item->is_active} fh5co-active {/if}" href="{$item.url}">{$item.name}</a></li>
{/cms:channellist}
</ul>
</li>
{else/}
<li><a class="fist-menu {if $nav->is_active} fh5co-active {/if}" href="{$nav.url}">{$nav.name}</a></li>
{/if}
{/cms:channellist}
</ul>
</nav>
官方示例
{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(权重)
orderway:排序方式,asc=正序,desc=倒序
imgwidth:图片宽度
imgheight:图片高度
condition:筛选条件,可使用SQL字段筛选
model:模型ID
field:调用字段,默认为*
type:指定类型,top=顶级栏目,brother=兄弟栏目,son=子栏目,sons=子孙栏目
typeid:指定类型关联的ID,如果type为空,这里可指定栏目的ID集合
在文章页、列表页、频道页的使用,直接在文章页中可调用单标签channel
{cms:channel name="id" /}//栏目ID
{cms:channel name="name" /}//栏目名称
{cms:channel name="image" /}//栏目图片
调用名称可以参考栏目表fa_cms_channel中的字段名称
CREATE TABLE fa_cms_channel (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
type enum('channel','page','link','list') NOT NULL COMMENT '类型',
model_id int(10) unsigned NOT NULL DEFAULT '0' COMMENT '模型ID',
parent_id int(10) unsigned NOT NULL DEFAULT '0' COMMENT '父ID',
name varchar(30) NOT NULL DEFAULT '' COMMENT '名称',
image varchar(100) NOT NULL DEFAULT '' COMMENT '图片',
flag set('hot','new','recommend') DEFAULT '' COMMENT '标志',
keywords varchar(255) NOT NULL DEFAULT '' COMMENT '关键字',
description varchar(255) NOT NULL DEFAULT '' COMMENT '描述',
diyname varchar(30) NOT NULL DEFAULT '' COMMENT '自定义名称',
outlink varchar(255) NOT NULL DEFAULT '' COMMENT '外部链接',
items mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '文章数量',
weigh int(10) NOT NULL DEFAULT '0' COMMENT '权重',
channeltpl varchar(100) NOT NULL DEFAULT '' COMMENT '栏目页模板',
listtpl varchar(100) NOT NULL DEFAULT '' COMMENT '列表页模板',
showtpl varchar(100) NOT NULL DEFAULT '' COMMENT '详情页模板',
pagesize smallint(5) NOT NULL DEFAULT '0' COMMENT '分页大小',
iscontribute tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否可投稿',
isnav tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否导航显示',
createtime int(10) DEFAULT NULL COMMENT '创建时间',
updatetime int(10) DEFAULT NULL COMMENT '更新时间',
status enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态',
PRIMARY KEY (id),
UNIQUE KEY diyname (diyname),
KEY weigh (weigh,id),
KEY parent_id (parent_id)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='栏目表';
文章详情标签archives
标签介绍:用于显示文档主表和副表字段信息
适用范围:详情页
调用示例://文档查看次数
{cms:archives name="views" /}
//文档发布时间
{cms:archives name="createtime|date='d',###" /}
//文档内容
{cms:archives name="content" /}
//调用副表字段 example1
{cms:archives name="example1" /}
在详情页还可以使用$__ARCHIVES__来获取文档的相关信息或者是用于逻辑判断,比如使用$__ARCHIVES__.views获取文档查看次数
标签列表标签tags
标签介绍:用于显示标签字段信息
适用范围:标签页
调用示例://标签名称
{cms:tags name="name" /}
//标签文档数
{cms:tags name="archives" /}
在标签页还可以使用$__TAGS__来获取标签的相关信息
配置标签config
标签介绍:用于调用框架的配置信息
适用范围:全部
调用示例://调用站点名称
{cms:config name="site.name" /}
//调用备案信息
{cms:config name="site.beian" /}
//调用当前调试状态
{cms:config name="app_debug" /}
自定义表单详情标签diyform
标签介绍:用于调用自定义表单的字段信息
适用范围:自定义表单详情页
调用示例://调用表单标题
{cms:diyform name="title" /}
//调用表单描述
{cms:diyform name="description" /}
如果需要调用表单的其它信息,还可以使用$__DIYFORM__来获取表单的其它信息
导航栏标签nav
标签介绍:用于调用导航栏信息
适用范围:全部
标签参数:maxlevel:最大调用的层级
condition:筛选条件,可使用SQL字段筛选
cache:缓存时长,为0则不缓存
调用示例:
//控制最大层级为3层的导航栏列表,且不缓存
{cms:nav maxlevel="3" cache="0" /}
//调用模型为1的第一层栏目列表
{cms:nav maxlevel="1" condition="model_id=1" /}
上下页标签prevnext
标签介绍:用于调用当前文档的上下篇文章
适用范围:文档详情页
标签参数: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}
评论标签commentlist
标签介绍:用于调用文档或单页的评论列表
适用范围:详情页、单页详情页
标签参数:
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}
面包屑标签breadcrumb
标签介绍:用于调用当前文档或栏目的面板屑
适用范围:全部
标签参数:
id:循环变量名
key:循环索引名
empty:为空时显示的信息
mod:取模基数,常用于控制多少条数据后换行、变色等
调用示例:
{cms:breadcrumb id="item"}
//链接文字
{$item.name}
//链接地址
{$item.url}
{/cms:breadcrumb}
h. 栏目列表标签channellist
标签介绍:用于调用栏目的列表
适用范围:全部
标签参数:
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}
文档列表标签arclist
标签介绍:用于调用文档的列表
适用范围:全部
标签参数:
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}
专题列表标签speciallist
标签介绍:用于调用专题的列表
适用范围:全部
标签参数:
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:speciallist id="special" orderby="rand" limit="30"}
//专题标题
{$special.title}
//专题链接
{$special.url}
//专题图片
{$special.image}
{/cms:speciallist}
标签列表标签tagslist
标签介绍:用于调用标签的列表
适用范围:全部
标签参数:
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}
列表筛选标签pagefilter
标签介绍:用于在列表页显示筛选信息的列表
适用范围:列表页
标签参数:
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}
列表排序标签pageorder
标签介绍:用于在列表页显示排序信息的列表
适用范围:列表页
标签参数:
id:循环变量名
key:循环索引名
empty:为空时显示的信息
mod:取模基数,常用于控制多少条数据后换行、变色等
调用示例:
{cms:pageorder id="order"}
//是否当前选中项
{$order.active?'active':''}
//排序链接
{$order.url}
//排序名称
{$order.title}
{/cms:pageorder}
列表标签pagelist
标签介绍:用于在列表页显示当前的类别下分页后的文档列表信息,此标签和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}
单页列表标签spagelist
标签介绍:用于获取单页的列表
适用范围:列表页
标签参数:
id:循环变量名
key:循环索引名
limit:行数
empty:为空时显示的信息
mod:取模基数,常用于控制多少条数据后换行、变色等
cache:缓存时间,为0则不缓存,为true则永久缓存
orderby:排序字段,支持id,createtime,updatetime,name,views(浏览次数)
orderway:排序方式,asc=正序,desc=倒序
imgwidth:图片宽度
imgheight:图片高度
condition:筛选条件,可使用SQL字段筛选
field:调用字段,默认为*
调用示例:
{cms:spagelist id="item"}
//单页链接
{$item.url}
//单页标题
{$item.title}
//图片组合链接
{$item.imglink}
//图片HTML
{$item.img}
{/cms:spagelist}
列表分页标签pageinfo
标签介绍:用于在列表页显示分页信息
适用范围:列表页
标签参数:
type:保留参数
调用示例:
{cms:pageinfo type="full" /}
指定单页信息标签spageinfo
标签介绍:用于在列表页显示分页信息
适用范围:列表页
标签参数:
type:保留参数
调用示例:
{cms:spageinfo sid="12" id="item"}
//单页链接
{$item.url}
//单页标题
{$item.title}
......
{/cms:spageinfo}
评论信息标签commentinfo
标签介绍:用于在文档页显示评论分页信息
适用范围:文档详情页
标签参数:
type:保留参数
调用示例:
{cms:commentinfo type="full" /}
评论
本文评论功能已关闭。