我在树枝模板中干。我想知道你是否可以在树枝的{{notation}}中访问变量。
例如:
{% if page.lang == 'en' %}
// do something
{{ content_en }}
{% endif %}
{% if page.lang == 'es' %}
// hacer algo
{{ content_es }}
{% endif %}
我尝试了其他一些方法。但是有可能(以某种方式)组合变量并做这样的事情:
// Php example
$var = 'content_';
$var .= page.lang;
// Output would be 'content_en';
但是对于Twig来说呢?
// Something like
{{ content_ + page.lang }}
使其更清晰。我想访问正确的变量。
$content_en = 'this is just some content';
$content_es ='Alguna información';
$var = 'content_';
$var .= 'en';
$key = ${$var};
// Output is 'this is just some content'
echo $key;
答案 0 :(得分:0)
如果要连接输出,则需要使用~
{{ 'content_' ~ page.lang }}
如果要调用动态变量,则需要使用attribute
{{ attribute(_context, 'content_' ~ page.lang) }}
_context
是twig中的一个特殊变量,它包含您传递给模板的所有变量
答案 1 :(得分:0)
@Darabee。
你是对的,语法是:
{{ attribute(_context, 'content_' ~ page.lang) }}
但是我怎么注意到如果有一个数组并且你使用'。'而不是下划线' _'它不会起作用。
在我的情况下,我有一个多阵列。这就是问题所在。
page['city']['content_en'].
or page.city.content_en