FastAdmin CMS插件 标签使用说明

前言

功能特性

(摘录自官方CMS介绍页。)
基于FastAdmin和ThinkPHP5进行开发的CMS内容管理系统,拥有PC版和小程序版本,提供CMS全部源代码和CMS小程序全部源代码
所有源代码无加密、无后门。一次购买永久免费升级使用。

1. 模版基础

1.1 目录与结构说明

插件根目录 /view下的文件为可使用的模板文件,您也可以自己建立目录来设计新的模板。
/view [模板目录]
 │
 ├─default -------------------[默认模板]
 ├─├─common ------------------[公共模版块]
 ├─│   comment.html ----------[评论模版]
 ├─│   downloaditem.html -----[]
 ├─│   fields.html -----------[]
 ├─│   index_list.html -------[]
 ├─│   item_download.html ----[]
 ├─│   item_news.html --------[]
 ├─│   item_product.html -----[]
 ├─│   item.html -------------[]
 ├─│   layout.html -----------[]
 ├─│   sidebar.html ----------[]
 │   channel_download.html ---[付费阅读栏目首页]
 │   channel_news.html -------[新闻栏目首页]
 │   channel_product.html ----[产品栏目首页]
 │   channel.html ------------[栏目首页]
 │   diyform.html ------------[自定义表单]
 │   index.html --------------[网站首页]
 │   list_download.html ------[付费阅读列表页]
 │   list_news.html ----------[新闻列表页]
 │   list_product.html -------[产品列表页]
 │   list.html ---------------[列表页]
 │   page.html ---------------[单页]
 │   search.html -------------[搜索页]
 │   show_download.html ------[付费阅读内容页]
 │   show_news.html ----------[新闻内容页]
 │   show_product.html -------[产品内容页]
 │   show.html ---------------[内容页]
 │   tags.html ---------------[标签页]复制

1.2 标签库

在CMS插件中的前端视图模板中大量使用了自定义标签,我们在修改或制作模板的时候,可以方便快捷的使用自定义标签来调用我们相关的数据。

(ThinkPHP默认标签的详细用法请参考完全开发手册)

标签库位于/addons/cms/taglib/Cms.php文件,我们可以看到标签库有定义可调用的标签和属性,以下是自带的标签

    'channel',    'archives',    'tags',    'block',    'config',    'page',    'diyform',    'nav',    'execute',    'query',    'prevnext',    'blocklist',    'commentlist',    'breadcrumb' ,    'channellist',    'arclist',    'tagslist',    'pagefilter',    'pageorder',    'pagelist',    'spagelist',    'spageinfo',    'pageinfo',    'commentinfo',复制

1.3 基础标签格式

基础标签格式为系统内容所有的数据调用格式,请牢记这些格式。此处只讲解格式,具体调用请查看具体的标签调用文档。

1.3.1 数据调用标签

本标签用于调用CMS标签库中定义的数据。

  • 标签体 - {} 标签内容写入英文大括号内

  • 循环前缀 - cms: CMS插件必须的前缀

  • 数据名 - 标签库中定义的数据名

  • 变量名 - id="标签名" 循环中所要使用的变量名

  • 属性值 - 为标签调用的参数,可以多个使用,请用空格分开多个属性,值如果为字符串时请添加双引号
    示例:(仅演示标签使用格式,具体标签的使用,请查看对应章节)

<!-- 这是栏目循环的调用 -->{cms:channellist id="nav" type="top" condition="1=isnav" }
    {$nav.name}
{/cms:channellist}<!-- 这是导航的调用 -->{cms:nav maxlevel="3" cache="0" /}复制

1.3.2 变量标签

变量仍然由"{}"英文大括号包围,内部则是$开头的变量名,多维变量用“.”英文句号分割。
<!-- 模版输出 -->{$nav.name}<!-- PHP原生输出 --><?php echo $nav['name']; ?>复制
也可以使用原生php自定义变量,在模版中输出,如:
<!-- PHP代码 --><?php$code   = 123;$image = array(            'url'   => 'http://www.baidu.com/img/baidu.gif',            'color' => 'red',            'size'  => '50',
         );?><!-- 模版输出 -->{$code}   {$image.color}复制
<!-- 输出结果 -->123   red复制

1.4 系统信息调用

1.4.1 FastAdmin框架系统信息

FastAdmin框架中的系统信息变量,在系统配置中可以定义他们的值。对应 application/extra/site.php文件中定义的。
  'name',  'beian',  'cdnurl',  'version',  'timezone',  'forbiddenip',  'languages' => 
  array (    'backend',    'frontend',
  ),  'fixedpage',  'categorytype' => 
  array (    'default',    'page',    'article',    'test',
  ),  'configgroup' => 
  array (    'basic',    'email',    'dictionary',    'user',    'example',
  ),  'mail_type',  'mail_smtp_host',  'mail_smtp_port',  'mail_smtp_user',  'mail_smtp_pass',  'mail_verify_type',  'mail_from',复制
调用方法如下
<!-- 格式:{$site.变量名} -->{$site.name}<!-- 注意:数组类变量不能直接调用 {$site.languages}会报错 --><?php print_r($site['languages']); ?>复制

1.4.2 CMS配置变量

CMS插件中也定义了一些变量,在插件配置中可以定义具体的值。对应addons/cms/config.php
  'sitename'
  'title'
  'keywords' 
  'description'
  'theme'
  'qrcode'
  'wxapp'
  'donateimage'
  'default_archives_img'
  'default_channel_img'
  'default_block_img'
  'default_page_img'
  'domain'
  'rewrite' => 
    array (size=8)      'index/index'
      'archives/index'
      'tags/index'
      'page/index'
      'search/index'
      'channel/index'
      'diyform/index'
  'wxappid'
  'wxappsecret'
  'apikey'
  'archiveseditmode'
  'channelallocate'
  'conactqq'
  'autolinks' => 
    array (size=2)      '服务器'
      '阿里云'复制
调用方法如下
<!-- 格式:{$config.变量名} -->{$config.sitename}<!-- 注意:数组类变量不能直接调用 {$config.autolinks}会报错 --><?php print_r($config['autolinks']); ?>复制

1.4.3 ThinkPHP原生变量

当然FastAdmin也支持原生变量的输出。

支持输出 $_SERVER$_ENV、 $_POST、 $_GET、 $_REQUEST$_SESSION和 $_COOKIE变量。

调用示例:

{$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
{$Think.session.user_id} // 输出$_SESSION['user_id']变量
{$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
{$Think.cookie.name}  // 输出$_COOKIE['name']变量复制
还可以输出常量
{$Think.const.APP_PATH}复制
或者直接使用
{$Think.APP_PATH}复制
输出配置参数使用:
{$Think.config.default_module}
{$Think.config.default_controller}复制
输出语言变量可以使用:
{$Think.lang.page_error}
{$Think.lang.var_error}复制

1.5 请求参数的输出

同样模板也支持直接输出Request请求对象的方法参数。

格式:$Request.方法名.参数

调用示例:

{$Request.get.id}
{$Request.param.name}复制

$Request.开头的变量输出会认为是系统Request请求对象的参数输出。

支持Request类的大部分方法,但只支持方法的第一个参数。

下面都是有效的输出:

// 调用Request对象的get方法 传入参数为id{$Request.get.id}// 调用Request对象的param方法 传入参数为name{$Request.param.name}// 调用Request对象的param方法 传入参数为user.nickname{$Request.param.user.nickname}// 调用Request对象的root方法{$Request.root}// 调用Request对象的root方法,并且传入参数true{$Request.root.true}// 调用Request对象的path方法{$Request.path}// 调用Request对象的module方法{$Request.module}// 调用Request对象的controller方法{$Request.controller}// 调用Request对象的action方法{$Request.action}// 调用Request对象的ext方法{$Request.ext}// 调用Request对象的host方法{$Request.host}// 调用Request对象的ip方法{$Request.ip}// 调用Request对象的header方法{$Request.header.accept-encoding}复制

1.6 判断与循环

1.6.1 比较标签

用于对变量的简单比较,如相等、不等、大于、小于等比较。基本格式如下:
{比较标签 name="变量" value="值"}
内容
{else/}
内容
{/比较标签}复制

系统支持的比较标签以及所表示的含义分别是:

标签含义
eq或者 equal等于
neq 或者notequal不等于
gt大于
egt大于等于
lt小于
elt小于等于
heq恒等于
nheq不恒等于

他们的用法基本是一致的,区别在于判断的条件不同。

1.6.2 IF判断

由于if标签的condition属性里面基本上使用的是php语法,尽可能使用比较标签和Switch标签会更加简洁,原则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签来直接书写代码。

基本用法示例:

{if condition="($name == 1) OR ($name > 100) "} value1
{elseif condition="$name eq 2"/}value2
{else /} value3
{/if}复制

除此之外,我们可以在condition属性里面使用php代码,例如:

{if condition="strtoupper($user['name']) neq 'THINKPHP'"}ThinkPHP
{else /} other Framework
{/if}复制

详细用法请参考ThinkPHP5完全开发手册中模版部分。

1.6.3 SWITCH标签

用法:

{switch name="变量" }
    {case value="值1" break="0或1"}输出内容1{/case}
    {case value="值2"}输出内容2{/case}
    {default /}默认情况
{/switch}复制

使用方法如下:

{switch name="User.level"}
    {case value="1"}value1{/case}
    {case value="2"}value2{/case}
    {default /}default{/switch}复制

其中name属性可以使用函数以及系统变量,例如:

{switch name="Think.get.userId|abs"}
    {case value="1"}admin{/case}
    {default /}default{/switch}复制

1.6.4 范围判断

范围判断标签包括in notin between notbetween四个标签,都用于判断变量是否中某个范围。

IN和NOTIN

用法: 假设我们中控制器中给id赋值为1:

$id =    1;$this->assign('id',$id);复制

我们可以使用in标签来判断模板变量是否在某个范围内,例如:

{in name="id" value="1,2,3"}id在范围内
{/in}复制

BETWEEN 和 NOTBETWEEN

可以使用between标签来判断变量是否在某个区间范围内,可以使用:

{between name="id" value="1,10"}
输出内容1
{/between}复制

同样,也可以使用notbetween标签来判断变量不在某个范围内:

{notbetween name="id" value="1,10"}
输出内容2
{/notbetween}复制

也可以使用else标签把两个用法合并,例如:

{between name="id" value="1,10"}
输出内容1
{else/}
输出内容2
{/between}复制

RANGE

也可以直接使用range标签,替换前面的判断用法:

{range name="id" value="1,2,3" type="in"}
输出内容1{/range}复制

其中type属性的值可以用in/notin/between/notbetween,其它属性的用法和IN或者BETWEEN一致。

1.6.5 PRESENT NOTPRESENT标签

present标签用于判断某个变量是否已经定义,用法:
{present name="name"}
name已经赋值
{else /}
name还没有赋值
{/present}
{notpresent name="name"}
name还没有赋值
{/notpresent}复制

1.6.6 EMPTY NOTEMPTY 标签

empty标签用于判断某个变量是否为空,用法:

{empty name="name"}
name为空
{else /}
name不为空
{/empty}
{notempty name="name"}
name不为空
{/notempty}复制

1.6.7 DEFINED 标签

DEFINED标签用于判断某个常量是否有定义,用法如下:

{defined name="NAME"}
NAME常量已经定义
{else /}
NAME常量未定义
{/defined}
{notdefined name="NAME"}
NAME常量未定义
{/notdefined}复制
name属性的值要注意严格大小写

1.7 数据函数处理

我们往往需要对模板输出变量使用函数,可以使用:

{$data.name|md5} 复制

编译后的结果是:

<?php echo (md5($data['name'])); ?>复制

如果函数有多个参数需要调用,则使用:

{$create_time|date="y-m-d",###}复制

表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d,第二个参数是前面要输出的create_time变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:

<?php echo (date("y-m-d",$create_time)); ?>复制

如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:

{$data.name|substr=0,3}复制

表示输出

<?php echo (substr($data['name'],0,3)); ?>复制

虽然也可以使用:

{$data.name|substr=###,0,3}复制

但完全没用这个必要。

还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如:

{$name|md5|strtoupper|substr=0,3}复制

编译后的结果是:

<?php echo (substr(strtoupper(md5($name)),0,3)); ?>复制

函数会按照从左到右的顺序依次调用。

如果你觉得这样写起来比较麻烦,也可以直接这样写:

{:substr(strtoupper(md5($name)),0,3)}复制
变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法。

1.8 模版引入

传统方式的导入外部JSCSS文件的方法是直接在模板文件使用:
<script type='text/javascript' src='/static/js/common.js'><link rel="stylesheet" type="text/css" href="/static/css/style.css" />复制

系统提供了专门的标签来简化上面的导入:

{load href="/static/js/common.js" /}
{load href="/static/css/style.css" /}复制

并且支持同时加载多个资源文件,例如:

{load href="/static/js/common.js,/static/css/style.css" /}复制

系统还提供了两个标签别名jscss 用法和load一致,例如:

{js href="/static/js/common.js" /}
{css href="/static/css/style.css" /}复制

2. 模版页面标签

2.1 栏目列表页

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}复制

默认模版中的应用代码:

{cms:channellist id="nav" type="top" condition="1=isnav"}
<!--判断是否有子级或高亮当前栏目-->
<li class="{if $nav.has_child}dropdown{/if} {if $nav->is_active} active{/if}">
    <a href="{$nav.url}" {if $nav.has_child} data-toggle="dropdown" {/if}>{$nav.name}{if $nav.has_child} <b class="caret"></b>{/if}</a>
    <ul class="dropdown-menu" role="menu">
        {cms:channellist id="sub" type="son" typeid="$nav['id']" condition="1=isnav"}
        <li><a href="{$sub.url}">{$sub.name}</a></li>
        {/cms:channellist}
    </ul>
</li>
{/cms:channellist}复制

2.2 文档列表页

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}复制

默认模版中的应用代码(栏目列表与内容列表):

{cms:channellist id="channel" type="son" typeid="$__CHANNEL__.id"}
<div class="col-xs-12 col-sm-6">
    <h3>{$channel.textlink} <em><a href="{$channel.url}">{:__('More')}</a></em></h3>
    {cms:arclist id="row" channel="$channel.id" limit="0,1"}
    <div class="media">
        <div class="media-left">
            <a href="{$row.url}" {if $row.style}style="{$row.style_text}"{/if}>
                <div class="embed-responsive embed-responsive-4by3 img-zoom">
                    <img class="embed-responsive-item media-object" width="64" height="64" src="{$row.image}">
                </div>
            </a>
        </div>
        <div class="media-body">
            <h4 class="media-heading">{$row.textlink}</h4>
            <p>{$row.description}</p>
        </div>
    </div>
    {/cms:arclist}
    <ul class="list-unstyled inner-list">
        {cms:arclist id="row" channel="$channel.id" limit="1,5"}
        <li>
            <a href="{$row.url}" {if $row.style}style="{$row.style_text}"{/if}>{$row.title}</a>
            <span class="pull-right">{$row.publishtime|date='m-d',###}</span>
        </li>
        {/cms:arclist}
    </ul>
</div>
{/cms:channellist}复制

2.3 栏目详情标签

channel

标签介绍:用于调用栏目的字段信息
适用范围:频道页、列表页、详情页
调用示例:
//栏目ID{cms:channel name="id" /}//栏目名称{cms:channel name="name" /}//栏目图片{cms:channel name="image" /}复制

2.4 文档详情标签

archives

标签介绍:用于显示文档主表和副表字段信息
适用范围:详情页
调用示例:
//文档查看次数{cms:archives name="views" /}//文档发布时间{cms:archives name="createtime|date='d',###" /}//文档内容{cms:archives name="content" /}//调用副表字段 example1{cms:archives name="example1" /}复制

2.5 单页详情标签

page

标签介绍:用于调用单调的字段信息
适用范围:单页详情页
调用示例:
//调用单页标题{cms:page name="title" /}//调用单页内容{cms:page name="content" /}复制

2.5 Tag标签列表页

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}复制

默认模版中的应用代码:

{cms:tagslist id="tag" orderby="rand" limit="30"}
<a href="{$tag.url}" class="tag"> <span>{$tag.name}</span></a>
{/cms:tagslist}复制

2.6 Tag标签详情页

tags

标签介绍:用于显示标签字段信息
适用范围:标签页
调用示例:
//标签名称{cms:tags name="name" /}//标签文档数{cms:tags name="archives" /}复制

2.7 区块列表标签

blocklist

标签介绍:用于调用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}复制

2.8 区块详情标签

block

标签介绍:用于调用显示区块信息,自动判断区块内容来显示图片或文本链接
适用范围:全部
调用示例:
//通过区块ID来调用显示区块{cms:block id="1" /}//通过名称Name来调用显示区块{cms:block name="bannerad" /}复制

2.9 评论标签

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}复制

2.10 评论信息标签

commentinfo

标签介绍:用于在文档页显示评论分页信息
适用范围:文档详情页
标签参数:

type:保留参数复制

调用示例:

{cms:commentinfo type="full" /}复制

3. 列表页专属标签

3.1 列表标签

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}复制

3.2 列表筛选标签

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}复制

3.3 列表排序标签

pageorder

标签介绍:用于在列表页显示排序信息的列表
适用范围:列表页
标签参数:

id:循环变量名
key:循环索引名empty:为空时显示的信息
mod:取模基数,常用于控制多少条数据后换行、变色等复制

调用示例:

{cms:pageorder id="order"}    //是否当前选中项
    {$order.active?'active':''}    //排序链接
    {$order.url}    //排序名称
    {$order.title}
{/cms:pageorder}复制

3.4 列表分页标签

pageinfo

标签介绍:用于在列表页显示分页信息
适用范围:列表页
标签参数:

type:保留参数复制

调用示例:

{cms:pageinfo type="full" /}复制

4. 其他标签

4.1 配置标签

config

标签介绍:用于调用框架的配置信息
适用范围:全部
调用示例:

//调用站点名称{cms:config name="site.name" /}//调用备案信息{cms:config name="site.beian" /}//调用当前调试状态{cms:config name="app_debug" /}复制

4.2 面包屑标签

breadcrumb

标签介绍:用于调用当前文档或栏目的面板屑
适用范围:全部
标签参数:

id:循环变量名
key:循环索引名empty:为空时显示的信息
mod:取模基数,常用于控制多少条数据后换行、变色等复制

调用示例:

{cms:breadcrumb id="item"}
    //链接文字
    {$item.name}
    //链接地址
    {$item.url}
{/cms:breadcrumb}复制

4.3 导航栏标签

nav

标签介绍:用于调用导航栏信息
适用范围:全部
标签参数:

maxlevel:最大调用的层级condition:筛选条件,可使用SQL字段筛选
cache:缓存时长,为0则不缓存复制

调用示例:

//控制最大层级为3层的导航栏列表,且不缓存{cms:nav maxlevel="3" cache="0" /}//调用模型为1的第一层栏目列表{cms:nav maxlevel="1" condition="model_id=1" /}复制

4.4 上下页标签

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}复制

5 常用标签实例速查【持续更新,欢迎留言】

栏目导航

<!--如果你需要自定义NAV,可使用channellist标签来完成,这里只设置了2级,如果显示无限级,请使用cms:nav标签-->{cms:channellist id="nav" type="top" condition="1=isnav"}<!--判断是否有子级或高亮当前栏目--><li class="{if $nav.has_child}dropdown{/if} {if $nav->is_active} active{/if}">
    <a href="{$nav.url}" {if $nav.has_child} data-toggle="dropdown" {/if}>{$nav.name}{if $nav.has_child} <b class="caret"></b>{/if}</a>
    <ul class="dropdown-menu" role="menu">
        {cms:channellist id="sub" type="son" typeid="$nav['id']" condition="1=isnav"}        <li><a href="{$sub.url}">{$sub.name}</a></li>
        {/cms:channellist}    </ul></li>{/cms:channellist}复制

栏目及内容列表

{cms:channellist id="channel" type="son" typeid="$__CHANNEL__.id"}
<div class="col-xs-12 col-sm-6">
    <h3>{$channel.textlink} <em><a href="{$channel.url}">{:__('More')}</a></em></h3>
    {cms:arclist id="row" channel="$channel.id" limit="0,1"}
    <div class="media">
        <div class="media-left">
            <a href="{$row.url}" {if $row.style}style="{$row.style_text}"{/if}>
                <div class="embed-responsive embed-responsive-4by3 img-zoom">
                    <img class="embed-responsive-item media-object" width="64" height="64" src="{$row.image}">
                </div>
            </a>
        </div>
        <div class="media-body">
            <h4 class="media-heading">{$row.textlink}</h4>
            <p>{$row.description}</p>
        </div>
    </div>
    {/cms:arclist}
    <ul class="list-unstyled inner-list">
        {cms:arclist id="row" channel="$channel.id" limit="1,5"}
        <li>
            <a href="{$row.url}" {if $row.style}style="{$row.style_text}"{/if}>{$row.title}</a>
            <span class="pull-right">{$row.publishtime|date='m-d',###}</span>
        </li>
        {/cms:arclist}
    </ul>
</div>
{/cms:channellist}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

触发修改文章时间【fastadmincms开发记录】|fastadmincms二次开发,触发,修改,文章,时间,fastadmin,ms,开发,记录
触发修改文章时间【fastadmincms开发记录】
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】|fastadmincms二次开发,在tp5中,过滤,输入,的零,宽度,字符,fastadmin,ms,开发,记录
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】
处理tag标签中的0宽空格【fastadmincms开发记录】|fastadmincms二次开发,处理,tag,标签,中的,0宽,空格,fastadmin,ms,开发,记录
处理tag标签中的0宽空格【fastadmincms开发记录】
添加专题时tags标签id出错【fastadmincms开发记录】|fastadmincms二次开发,添加,专题,时tags,标签,id,出错,fastadmin,ms,开发,记录
添加专题时tags标签id出错【fastadmincms开发记录】
20230518----模板 广告【fastadmincms开发记录】|fastadmincms二次开发,20230518,模板,广告,fastadmin,ms,开发,记录
20230518----模板 广告【fastadmincms开发记录】
cms添加视频模型【fastadmincms开发记录】|fastadmincms二次开发,ms,添加,视频,模型,fastadmin,开发,记录
cms添加视频模型【fastadmincms开发记录】
新增单篇收费复制功能【fastadmincms开发记录】|fastadmincms二次开发,新增,单篇,收费,复制,功能,fastadmin,ms,开发,记录
新增单篇收费复制功能【fastadmincms开发记录】
添加开会员折扣功能【fastadmincms开发记录】|fastadmincms二次开发,添加,开会,折扣,功能,fastadmin,ms,开发,记录
添加开会员折扣功能【fastadmincms开发记录】

历史上的今天:04月30日

热门专题

易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
云南高职单招|云南单招,云南单招网,云南高职单招网,云南高职单招,云南单招学校,云南单招培训
云南高职单招
外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设
云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
大理科技管理学校|大理科技管理中等职业技术学校,大理市科技管理中等职业技术学校
大理科技管理学校
卓越综合高中|卓越综合高中
卓越综合高中
云南综合高中|云南综合高中
云南综合高中

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部