You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twig循环中访问变量:能否将content_1_raw中的1替换为{{ i }}的值?

在Twig模板中替换循环变量到指定内容的方法

当然可以实现这个需求!在Twig里处理这类字符串替换或者动态变量调用都很顺手,我给你两种常见场景的解决方案:

场景1:替换字符串content_1_raw中的数字"1"为循环变量i的值

如果content_1_raw是一个包含数字"1"的字符串(比如内容是"这是第1段内容"),直接用Twig的replace过滤器就能搞定,写法非常直观:

{% for i in 1..3 %} {# 循环范围可以根据你的需求调整 #}
    {{ content_1_raw|replace({'1': i}) }}
{% endfor %}
  • 原理:replace过滤器接受一个键值对数组,键是要被替换的目标内容,值是替换后的内容。这里我们把字符串里的"1"替换成当前循环的i值,循环到第几次就会替换成对应的数字。
  • 额外提示:如果content_1_raw里有多个"1",这个方法会把所有匹配的"1"都替换掉;要是只想替换第一个,可以加上替换次数参数,比如|replace({'1': i}, 1)。

场景2:动态调用content_{{i}}_raw这类命名的变量

如果你其实是想根据循环变量i,动态获取content_1_raw、content_2_raw...这类对应命名的变量值(而不是替换字符串里的数字),那得用Twig的attribute函数——因为Twig不能直接解析content_{{i}}_raw这种拼接出来的变量名,写法如下:

{% for i in 1..3 %}
    {{ attribute(_context, 'content_' ~ i ~ '_raw') }}
{% endfor %}
  • 原理:_context是Twig的全局上下文变量,包含了当前作用域下的所有可用变量;~是Twig的字符串拼接运算符,把'content_'、i、'_raw'拼成完整的变量名,再用attribute从上下文中取出对应变量的值。

两种方法按需选择就好,基本能覆盖你遇到的情况~

内容的提问来源于stack exchange,提问作者webGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:46:59