纳速健身

标题: Drupal 8 Twig模板教程 - 简介变量、赋值、函数 [打印本页]

作者: awagink    时间: 2016-1-28 07:37
标题: Drupal 8 Twig模板教程 - 简介变量、赋值、函数
Twig模板是简单的文本文件,它包含标记(tags)、变量(variables)和表达式(expressions),前者用于控制模板的逻辑、后两者在模板中输出对应值的结果。
Twig有两类分隔符:{% ... %}和{{ ... }}。前者用于执行一个表达式,如:{% foo=bar %},后者是输出表达式的值。
变量
应用程序传递变量给模板,用于控制模板的输出。变量同样可以拥有可访问的属性或元素(即:PHP对象的方法或属性,或PHP数组项)。可以使用点或方括号访问它们:
{{ foo.bar }} {{ foo['bar'] }}
如果属性包含特殊字符(如变量使用 - 分开)使用正常的方法则无法赋值,使用attribute函数为该属性赋值:
{# 相当于foo.data-foo #}
{{ attribute(foo, 'data-foo') }}
全局变量
下列变量在模板中总是可用:
_self:引用当前模板
_context:引用当前上下文
_charset:引用当前字符集
变量赋值
在代码块内部使用set标签为变量赋值:
{% set foo = 'foo' %}
{% set foo = [1, 2] %}
{% set foo = {'foo': 'bar'} %}
过滤器
变量可以使用过滤器进行修改。过滤器通过管道符(|)与变量分离,并且在圆括号中可以有任意参数。多个过滤器可以链接,任一过滤器的输出均被应用到下一个。
下例从变量name中移除所有HTML标记并让每个单词的首字母大写。
{{ name|striptags|title }}
下例展示了如何使用过滤器参数,变量list中的每一项被逗号连接在一起:
{{ list|join(',') }}
下例展示了如何为一段代码块应用过滤器,代码块中的字符串会变为大写:
{% filter upper %}
This text becomes uppercase
{% endfilter %}
函数
函数用于生成内容。例如,range函数返回一个整数的算术级列表:
{% for i in range(0, 3) %}
{{ i }},
{% endfor %}






欢迎光临 纳速健身 (https://www.nasue.com/) Powered by Discuz! X3.4