Twig:打印变量名为 String 的变量的值
Twig: Print the value of a variable where the variable name is String
我有一个名为 e.g. 的变量var1
其值为 value1
作为字符串。
如何打印变量 var1
的值,其中 var1
是作为字符串获得的?
让
{{ set container = 'var1' }}
变量container
的值是动态的。根据 container
的值,我需要打印它的值;在这种情况下,我需要打印 'value1'.
我正在寻找这样的东西
{{ attribute(this, container) }}
/* <= 这不会,因为 this
没有在 Twig 中定义 */
原来我错了
您可以使用 _context
变量,它包含传递给模板的所有变量。
尝试{{ dump(_context) }}
您可以创建一个函数来传递此上下文和数组键以访问该值。
这个 twig 函数应该可以正常工作:
public function getAttribute($context, $key)
{
if (!array_key_exists($key, $context)) {
return '';
}
return $context[$key];
}
随着传递的变量 title=foo
和传递的另一个变量 refTitle=title
,这应该输出 "foo".
{{ attribute(_context, refTitle) }}
我有一个名为 e.g. 的变量var1
其值为 value1
作为字符串。
如何打印变量 var1
的值,其中 var1
是作为字符串获得的?
让
{{ set container = 'var1' }}
变量container
的值是动态的。根据 container
的值,我需要打印它的值;在这种情况下,我需要打印 'value1'.
我正在寻找这样的东西
{{ attribute(this, container) }}
/* <= 这不会,因为 this
没有在 Twig 中定义 */
原来我错了
您可以使用 _context
变量,它包含传递给模板的所有变量。
尝试{{ dump(_context) }}
您可以创建一个函数来传递此上下文和数组键以访问该值。
这个 twig 函数应该可以正常工作:
public function getAttribute($context, $key)
{
if (!array_key_exists($key, $context)) {
return '';
}
return $context[$key];
}
随着传递的变量 title=foo
和传递的另一个变量 refTitle=title
,这应该输出 "foo".
{{ attribute(_context, refTitle) }}