TWIG 模板设计 快速入门手册 中文(6)
<dl>
<dt>Username</dt>
<dd>{{ input_field('username') }}</dd>
<dt>Password</dt>
<dd>{{ input_field('password', type='password') }}</dd>
</dl>
<p>{{ textarea('comment') }}</p>上面的代码表示 从forms.html中导入了 input 和 textarea宏,并给input重命名为input_field。
表达式
TWIG允许你在任何地方使用表达式,他的规则和PHP几乎一模一样,就算你不会PHP 仍然会觉得很简单。
最简单的有
字符串:“hello world” 或者 'hello world'
数字:42 或者 42.33
数组:['a','b','c']
哈希:{'a':'av', 'b':'bv'} 其中keys 可以不要引号 也可以是数字 还可以是一个表达式,比如{a:'av', b:'bv'} {1:'1v', 2:'2v'} {1+2:'12v'}
逻辑: true 或者 false
最后还有null
你可以嵌套定义
{% set foo = [1, {"foo": "bar"}] %}
{% set foo = [1, {"foo": "bar"}] %}运算符
包括数字运算+ - * / %(求余数) //(整除) **(乘方)
<p>{{ 2 * 3 }}=6
<p>{{ 2 * 3 }}=8
<p>{{ 2 * 3 }}=6
<p>{{ 2 * 3 }}=8逻辑运算 and or not
比较运算 > < >= <= == !=
包含运算 in 以下的代码会返回 true
{{ 1 in [1, 2, 3] }}
{{ 'cd' in 'abcde' }}
{{ 1 in [1, 2, 3] }}
{{ 'cd' in 'abcde' }}测试运算 is 这个不用多说 直接看代码
{{ name is odd }}
{% if loop.index is divisibleby(3) %}
{% if loop.index is not divisibleby(3) %}
{# is equivalent to #}
{% if not (loop.index is divisibleby(3)) %}
{{ name is odd }}
{% if loop.index is divisibleby(3) %}
{% if loop.index is not divisibleby(3) %}
{# is equivalent to #}
{% if not (loop.index is divisibleby(3)) %}其他操作符
.. 建立一个指定开始到结束的数组,他是range函数的缩写,具体参看手册
<pre name="code" class="html">{% for i in 0..3 %}
{{ i }},
{% endfor %}
<pre name="code" class="html">{% for i in 0..3 %}
{{ i }},
{% endfor %}
| 使用一个过滤器
{# output will be HELLO #}
{{ "hello"|upper }}
{# output will be HELLO #}
{{ "hello"|upper }}~ 强制字符串连接
{{ "Hello " ~ name ~ "!" }}
{{ "Hello " ~ name ~ "!" }}?: 三元操作符
{{ foo ? 'yes' : 'no' }}
{{ foo ? 'yes' : 'no' }}. [] 得到一个对象的属性,比如以下是相等的。
{{ foo.bar }}
{{ foo['bar'] }}
{{ foo.bar }}
{{ foo['bar'] }}
相关新闻>>
- 发表评论
-
- 最新评论 更多>>