1.{% ..... %}、{{ ......... }}、{# ...... #}
{% for item in list %} {{ item }}{% endfor %}
{{...}} 用来输入模板表达式的后果{{ item }}
{# ... #}
用来正文代码{# <div>{{ item }}</div> #}
2.循环
{% for key,item in list %} <div>{{ key }}---{{ item['user'] }}</div> <div>{{ loop.index }}</div> {% endfor %} key--list数组循环的下标, item--每次循环数组外面的 对象,例{user:'123',num:'1'},取对象外面的值能够应用 item['user'] 或 item.user 循环体外部变量: loop.index 循环的次数(从1开始) loop.index0 循环的次数(从0开始) loop.revindex 循环剩余次数(最小值为1) loop.revindex0 循环剩余次数(最小值为0) loop.first 当第一次循环的时候返回true loop.last 当最初一次循环的时候返回true loop.length 循环的总数 loop.parent 被循环的数组 循环必须有 完结 {% endfor %}
3.判断
{% for key,item in list %} <div>{{ key }}---{{ item['user'] }}</div> {% endfor %} {% elseif list|length > 0 %} <div> 屡次判断条件 </div> {% else %} <div> 屡次判断条件 </div> {% endif %} | -- 代表过滤器,判断 list 长度是否大于 0 if 判断 必须有 完结 {% endif %} {% if list is null %} <div> 判断是否为 null </div> {% endif %} {% if list is not defined %} <div> 判断是否定义 </div> {% endif %} {% if list or list|length >0 %} <div> 或者 判断应用 or </div> {% endif %} {% if list and list|length >0 %} <div> 并且 判断应用 and </div> {% endif %} 循环中 判断 {% for key,item in list if item.user == '456' %} <div>{{ key }}---{{ item['user'] }}</div>{% endfor %}循环 也能够 if 判断组合应用,这样输入的就会是 1---456,数组中其余两个就不会渲染进去
4.主动本义
Twig 1.8 版本前{% autoescape true %} 此处内容以HTML本义策略进行主动本义{% endautoescape %}{% autoescape false %} 此处的内容以本来的样子输入,不本义{% endautoescape %}Twig 1.8 以上{% autoescape %} 此处内容以HTML本义策略进行主动本义{% endautoescape %}{% autoescape 'html' %} 此处内容以HTML本义策略进行主动本义{% endautoescape %}{% autoescape 'js' %} 此处内容以JS本义策略进行主动本义{% endautoescape %}{% autoescape false %} 此处的内容以本来的样子输入,不本义{% endautoescape %}
5.过滤器 |
default:当所润饰的数据不存在或为空时,提供默认值。如 {{ ''|default('默认') }} sort:对数组排序 keys:将数组的全副键名提取成一个数组 length:返回数组元素的个数或字符串的长度 lower:将字符串所有字母全副变成小写 upper:将字符串所有字母全副变成大写 title:将字符串中每个单词的首字母大写 split:将字符串宰割成数组
6.几个用到的函数
even:是否为偶数,如 {% if i is even %}odd:是否为奇数,如 {% if i is odd %}empty:是否为空,如 {% if i is empty %}null:是否为 null,如 {% if i is null %}defined:是否已定义,如 {% if i is defined %}