twig模板中设置变量与拼接字符串
设置变量:
比如说一个用户简介页面,里面有关于用户的所有简介,这个时候后端在dump中给一个数组,根据数组取值,假设最外层有一个data,data里面有个info, info里面包含了用户的信息,如果用户的姓名为name,这个时候我们取值的话应该是
{{ data.info.name }}
这样的话就会很繁琐,所以我们不妨在头部设一个变量,这个时候就用到了twig中的 set
用法:
{% set i = data.info %} 姓名:{{ i.name }}
这样的话就取到了name的值
值得注意的是,set 只能在一块继承里面,比如说我继承了body, 那么set就应该在body里面写,如
{% block body %} {% set i = data.info %} 姓名:{{ i.name }} {% endblock %}
如果把set放到外边的话,就会引起报错
2、字符串拼接:
在js中,字符串拼接是用 “+” “””拼接的,但是在有些项目中用js拼接会特别复杂,而且代码量大,容易出错,不易维护,所以我们如果可以在twig中直接拼接的话,就会省很多事,而且有利于维护
在twig中会用到 “~” ,这个符号就是字符与字符之间拼接的桥梁:
假设我现在在一个文件夹里面有5张图片,分别是1.png、2.png……5.png,然后我们循环,读取路径
{% for key,list in data.info.stove_array %} {% set i = key + 1 %} {% set url = 'assets/pc/img/stove/' ~ i ~ '.png' %} <img src="{{ asset(url) }}" class="style-img" > {% endfor %}
上面代码意思是先set一个变量 i对应的就是1、2…一直到数组的最后
url也是set的一个变量,后面的字符串就是通过’ ~ ‘来拼接的,这样的话就拼出了每一个数据对应的图片路径,就达到了我们预期的效果。
版权声明:本文由“憨小猪”发布,如需转载请注明出处。