【发布时间】:2016-07-07 14:16:18
【问题描述】:
我有一个要迭代的数组以将不同类型的组件拉入我的页面:
array(
'content'=> array(
'componentA'=>array(
'val'=>'1',
'title'=>'sample title'
),
'componentB'
)
)
我正在尝试将变量从数组传递到包含的模板,但我不确定如何将连接生成的字符串转换为包含可以理解为变量数组的内容。当我从第一个 @components 包含中排除“with”时,它会打印出我在可迭代组件中设置的所有默认值,就像我期望的那样,但是当我保留 with 属性时仍然给我一个白屏。当我显示 var 本身,它返回这个字符串: (注意,我也尝试在 {{k}} 周围加上引号,但无济于事)
{ val:'1',title:'sample title' }
如何将数组中的变量传递给组件?
{% for key,item in content %}
{% if item is iterable %}
{% set var = [] %}
{% for k,v in item %}
{% set temp %}{% if loop.first %} { {% endif %}{{ k }}:'{{ v }}'{% if loop.last %} } {% endif %}{% endset %}
{% set var = var|merge([ temp ]) %}
{% endfor %}
{% set var = var|join(',') %}
{{ include ("@components/" ~ key ~ ".tmpl",var) }}
{% else %}
{{ include ("@components/" ~ item ~ ".tmpl") }}
{% endif %}
{% endfor %}
【问题讨论】:
标签: twig