Twig 的 tags学习(中文) 之一
Twig 是个 简单而强力的模板,因为在学习sf 所以看看她。
本文来源http://twig.sensiolabs.org/doc/tags/index.html
目前支持的tags包括
for if macro filter set extends block include import from use spaceless autoescape raw flush do
twig在html分为3种
{{...}} 直接输出其中的变量
{#...#} 注释标签
{%...%} 命令标签,就是我们要学习的这些
for标签
这个最简单,就是循环。
基于数组的循环
<h1>Members</h1>
<ul>
{% for user in users %}
<li>{{ user.username|e }}</li>
{% endfor %}
</ul>
<h1>Members</h1>
<ul>
{% for user in users %}
<li>{{ user.username|e }}</li>
{% endfor %}
</ul>
基于数字的循环,特别要注意,这里会输出0-10 也就是11个数字。
{% for i in 0..10 %}
* {{ i }}
{% endfor %}
{% for i in 0..10 %}
* {{ i }}
{% endfor %}
基于字母的循环
{% for letter in 'a'..'z' %}
* {{ letter }}
{% endfor %}
{% for letter in 'a'..'z' %}
* {{ letter }}
{% endfor %}
在循环体内部的变量
变量名 | 描述 |
---|---|
loop.index | 循环的次数(从1开始) |
loop.index0 | 循环的次数(从0开始) |
loop.revindex | 循环剩余次数(最小值为1) |
loop.revindex0 | 循环剩余次数(最小值为0) |
loop.first | 当第一次循环的时候返回true |
loop.last | 当最后一次循环的时候返回true |
loop.length | 循环的总数 |
loop.parent | 被循环的数组 |
loop.length, loop.revindex, loop.revindex0,loop.last 这几个值只有在被循环的是 php数组 或实现了Countable 接口的类,才有效。
添加一个条件
跟PHP不一样,在循环内部不支持break和continue语句,你只能通过过滤器去跳过一些循环,就像这样
<ul>
{% for user in users if user.active %}
<li>{{ user.username|e }}</li>
{% endfor %}
相关新闻>>
- 发表评论
-
- 最新评论 更多>>