# 标签库
>在[CMS](https://www.fastadmin.net/store/cms.html)插件中的前端视图模板中大量使用了自定义标签,我们在修改或制作模板的时候,可以方便快捷的使用自定义标签来调用我们相关的数据。
标签库位于`/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',
~~~
> 基础标签格式为系统内容所有的数据调用格式,请牢记这些格式。此处只讲解格式,具体调用请查看具体的标签调用文档。
# 数据调用标签
>本标签用于调用CMS标签库中定义的数据。
* 标签体 - {} 标签内容写入英文大括号内
* 循环前缀 - cms: CMS插件必须的前缀
* 数据名 - 标签库中定义的数据名
* 变量名 - id="标签名" 循环中所要使用的变量名
* 属性值 - 为标签调用的参数,可以多个使用,请用空格分开多个属性,值如果为字符串时请添加双引号
>示例:(仅演示标签使用格式,具体标签的使用,请查看对应章节)
~~~
<!-- 这是栏目循环的调用 -->
{cms:channellist id="nav" type="top" condition="1=isnav" }
{$nav.name}
{/cms:channellist}
<!-- 这是导航的调用 -->
{cms:nav maxlevel="3" cache="0" /}
~~~
# 变量标签
>变量仍然由"{}"英文大括号包围,内部则是$开头的变量名,多维变量用“.”英文句号分割。
~~~
<!-- 模版输出 -->
{$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
~~~