当前位置:首页 > 后端 > php > twig模板中设置变量与拼接字符串

twig模板中设置变量与拼接字符串

DChen3年前 (2021-09-07)php2.97 K0

设置变量:

比如说一个用户简介页面,里面有关于用户的所有简介,这个时候后端在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的一个变量,后面的字符串就是通过’ ~  ‘来拼接的,这样的话就拼出了每一个数据对应的图片路径,就达到了我们预期的效果。


取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

版权声明:本文由“憨小猪”发布,如需转载请注明出处。

本文链接:https://www.phper.red/post/139.html

标签: twig拼接

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。