如何在 .twig 语法中使用变量
How to use a variable in .twig syntax
我要在树枝模板中干燥。我想知道你是否可以在 twig 的 {{ 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;
如果你想连接你需要使用的输出~
{{ 'content_' ~ page.lang }}
如果要调用动态变量需要使用attribute
{{ attribute(_context, 'content_' ~ page.lang) }}
_context
是 twig 中的一个特殊变量,它包含您传递给模板的所有变量
@Darabee.
你是对的,语法是:
{{ attribute(_context, 'content_' ~ page.lang) }}
但是我怎么注意到如果有一个数组而你使用'.'而不是下划线“_”,它将不起作用。
就我而言,我有一个多阵列。就是这个问题。
page['city']['content_en'].
or page.city.content_en
我要在树枝模板中干燥。我想知道你是否可以在 twig 的 {{ 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;
如果你想连接你需要使用的输出~
{{ 'content_' ~ page.lang }}
如果要调用动态变量需要使用attribute
{{ attribute(_context, 'content_' ~ page.lang) }}
_context
是 twig 中的一个特殊变量,它包含您传递给模板的所有变量
@Darabee.
你是对的,语法是:
{{ attribute(_context, 'content_' ~ page.lang) }}
但是我怎么注意到如果有一个数组而你使用'.'而不是下划线“_”,它将不起作用。
就我而言,我有一个多阵列。就是这个问题。
page['city']['content_en'].
or page.city.content_en