迭代symfony2翻译元素child

迭代symfony2翻译元素child,symfony,twig,translation,yaml,Symfony,Twig,Translation,Yaml,我正在使用symfony2翻译工具和yml文件类型 我有这样的想法: carousel: slide1: title: At nunc si ad aliquem bene text: Altera sententia est quae slide2: title: Vita est illis semper in fuga text: Haec igitur lex in amicitia slide3:

我正在使用symfony2翻译工具和yml文件类型

我有这样的想法:

carousel:
    slide1:
        title: At nunc si ad aliquem bene
        text: Altera sententia est quae
    slide2:
        title: Vita est illis semper in fuga
        text: Haec igitur lex in amicitia
    slide3:
        title: Cum haec taliaque sollicitas
        text: Tandem id ut optimum factu
可以用symfony在twig中迭代“carousel”childs吗

比如:

{% for slide in carousel|trans %}
    {{ slide.title }}
    {{ slide.text }}
{% endfor %}

不,如果不创建扩展,这是不可能的

但是,您可以执行以下操作:

{% for i in range(1,carousel|length) -%}
    {{ 'slide' ~ i ~ '.title'|trans }}
    {{ 'slide' ~ i ~ '.text'|trans }}
{%- endfor %}

我在您的答案中添加了
range()
函数。它比
1..3
更易于维护,因为它将自动处理越来越多的旋转木马元素:)@nifr问题是您没有旋转木马变量,我选择使用1..3来显示它无法动态完成。我明白您的意思。无法获取(YAML-)翻译数组中存在的翻译数。我只是假设twig中的这个
carousel
变量表示一个
数组(集合)
包含图像(以及默认文本)。。。因为几乎所有像著名的carousel插件都主要用于图像滑动。这个答案现在有一个不正确的循环范围,因为
carousel | length
只是指文本的长度(例如8)。