#### 对模板输出变量使用PHP函数处理数据
> *自定义CMS公共函数
在application\cms\function.php文件内定义即可
> 例子:用户昵称md5加密(1.在函数名称前加冒号、2.在变量后加|号:)
```
{$user.nickname|md5}
```
或者使用
```
{:md5($user.nickname)}
```
> 例子:日期格式化(函数参数调用,需要用###标识变量位置)
```
{$vo.updatetime|date="Y-m-d",###}
```
或者使用
```
{:date('Y-m-d',$vo.updatetime)}
```
> 多个函数嵌套
```
{:substr(strtoupper(md5($name)),0,3)}
```
> 默认值使用(给变量输出设置默认值):
```
{$user.nickname|default="游客"}
```
**原样输出(内部的模板标签不被解析):**
```
{literal} 调用名称标签,{$name} {/literal}
```
*****
> 调用.env环境变量或config目录的系统配置项
调用指定配置的某个配置值
```
{:config('app.app_debug')}
```
调用指定配置的所有配置值
```
{:config('app.')}
```
> 调用cms总发文量
```
共 {:get_collection_info('publish_count','')} 篇
```
> 调用cms今日发文量
```
今日更新 {:get_collection_info('publish_count','day')} 篇
```
> 获取栏目信息
```
{:getCategory(1,'id')}
{:getCategory(1,'url')}
{:getCategory(1,'catname')}
{:getCategory($catid,'catname')}
```
> 顶级父栏目名称
```
{:getCategory($top_parentid,'catname')}
```
> 标签调用:遍历文章标签链接到指定标签页结果列表
```
{notempty name="tags"}
{volist name=":explode(',',$tags)" id="vo"}
<a class="labelList" href="{:url('cms/index/tags',['tag'=>$vo])}">{$vo}</a>
{/volist}
{/notempty}
```
> 文章内容付费阅读
```
{eq name="allow\_visitor" value="1"}
{$content|raw}
{else/}
<div class\="allow\_visitor">
<a href="{:url('cms/index/readpoint',['allow_visitor' => $allow_visitor])}"><font color="red">阅读此信息需要您支付 <B><I>{$readpoint} {if $paytype}元{else}点{/if}</I></B>,点击这里支付</font></a>
阅读此信息需要您支付 {$readpoint} {if $paytype}元{else}点{/if},点击这里支付
</div>
{/eq}
```
> #### 面包屑
> 返回指定栏目路径层级HTML代码(参数1:栏目id,参数2:间隔符)
```
{:catpos($catid, ' > ')}
```
> 例子:调用当前页面面包屑代码(站点名称 -> 对应层级的栏目名称 -> 当前文章标题)
> {:catpos($catid)}表示当前栏目的面包屑代码,包含对应的链接
```
<div class="crumbs">
当前位置:{$SEO['site_name']} > {:catpos($catid)} > {$title}
</div>
```
#### 推送指定文章URL到百度
> push_article('栏目ID', '文章ID');
```
push_article('栏目ID', '文章ID');
```
#### 获取指定模型ID的表名
> get_model_tablename('模型ID[int]', '是否系统表[int]')
```
get_model_tablename($modelid, $ifsystem)
```
#### 创建单个tag URL链接
> buildTagUrl($tag = '', $convert = false, $url = '', $suffix = false, $domain = false)
> **tag:参数支持 $id $tag
**convert:参数支持 true|false 是否转url为 id 或 tag 形式的url
**url:参数允许固定url 或 模型/控制器/动作
**模板调用方式:
**{php}$tags_arr = explode(',',$vo['tags']);{/php}
**{volist name="tags_arr" id="v"}
**<a href="{:buildTagUrl($v,true)}"\>{$v}<\/a>
**{/volist}
```
```
#### 创建内容链接(catdir 栏目别名 , 文章id)
> buildContentUrl($catdir, $id, $url = '', $suffix = true, $domain = false)
```
buildContentUrl('hospital', 123);
```
#### 生成栏目URL(catdir 栏目别名 )
> buildCatUrl($catdir, $url = '', $suffix = false, $domain = false)
```
buildCatUrl('hospital')
```
#### 通用指定栏目的seo信息方法(可自定义默认tdk)
> seo($catid = '', $title = '', $description = '', $keyword = '')
```
{php}
$catSeoInfo = seo(1);
{/php}
{$catSeoInfo.title}
```
#### 返回面包屑
> catpos($catid, $symbol = ' > ')
#### 获取栏目相关信息
> getCategory($cat, $fields = '', $newCache = false)
```
{:getCategory('hospital', 'catname')}
{:getCategory('hospital', 'url')}
```