我们往往需要对模板输出变量使用函数,可以使用:
{$data.name|md5}
{$data.name|md5}
编译后的结果是:
<?php echo (md5($data\['name'\])); ?>
<?php echo (md5($data\['name'\])); ?>
如果函数有多个参数需要调用,则使用:
{$create\_time|date="y-m-d",###}
{$create\_time|date="y-m-d",###}
表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是 y-m-d ,第二个参数是前面要输出的 create\_time 变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:
<?php echo (date("y-m-d",$create\_time)); ?>
<?php echo (date("y-m-d",$create\_time)); ?>
如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:
{$data.name|substr=0,3}
{$data.name|substr=0,3}
表示输出
<?php echo (substr($data\['name'\],0,3)); ?>
<?php echo (substr($data\['name'\],0,3)); ?>
虽然也可以使用:
{$data.name|substr=###,0,3}
{$data.name|substr=###,0,3}
但完全没用这个必要。
还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如:
{$name|md5|strtoupper|substr=0,3}
{$name|md5|strtoupper|substr=0,3}
编译后的结果是:
<?php echo (substr(strtoupper(md5($name)),0,3)); ?>
<?php echo (substr(strtoupper(md5($name)),0,3)); ?>
函数会按照从左到右的顺序依次调用。
如果你觉得这样写起来比较麻烦,也可以直接这样写:
{:substr(strtoupper(md5($name)),0,3)}
{:substr(strtoupper(md5($name)),0,3)}
变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法。
<div class="view-foot">
<div class="article-jump">
<span style="display: block;" class="jump-up">上一篇:<a href="/manual/thinkphp
/1795" data-articleid="1795">系统变量</a></span>
<span class="jump-down">下一篇:<a href="/manual/thinkphp/1797" data-articlei
d="1797">默认值输出</a></span>
</div>
<a class="view-backtop"><i class="icon-arrow-up2"></i></a>
</div>
</div>
<div class="view-foot">
<div class="article-jump">
<span style="display: block;" class="jump-up">上一篇:<a href="/manual/thinkphp
/1795" data-articleid="1795">系统变量</a></span>
<span class="jump-down">下一篇:<a href="/manual/thinkphp/1797" data-articlei
d="1797">默认值输出</a></span>
</div>
<a class="view-backtop"><i class="icon-arrow-up2"></i></a>
</div>
</div>
- ThinkPHP模板
- 变量输出
- 系统变量
- 系统变量输出
- 常量输出
- 配置输出
- 语言变量
- 使用函数
- 默认值输出
- 使用运算符
- 标签库
- 导入标签库
- 内置标签
- 标签库预加载
- 模板继承
- 修改定界符
- 普通标签
- XML标签
- 三元运算符
- 包含文件
- 使用模版表达式
- 使用模版文件
- 传入参数
- 内置标签
- Volist标签
- Foreach标签
- For标签
- Switch标签
- 比较标签
- 范围判断标签
- IN和NOTIN
- BETWEEN 和 NOTBETWEEN
- RANGE
- IF标签
- Present标签
- Empty标签
- Defined标签
- Assign标签
- Define标签
- 标签嵌套
- import标签
- 使用PHP代码
- 使用php标签
- 使用原生php代码
- 原样输出
- 模板注释
- 单行注释
- 多行注释
- 模板布局
- 第一种方式:全局配置方式
- 第二种方式:模板标签方式
- 第三种方式:使用layout控制模板布局
- 模板替换
- 调用导航
- 调用栏目信息
- 根据栏目Id获取栏目信息
- 首页&封面调用信息列表
- 调用新闻列表
- 当前位置
- 当前位置
- 列表页分页
- 热门信息
- 获取热门信息
- 上一篇&下一篇
- YNCMS函数
- YNCMS插件开发
- 开始开发