如何在 .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