我正在尝试访问宏中的一个twig变量.我知道我不能直接这样做.
与PHP函数一样,宏无法访问当前模板变量
但是相同的页面状态:
您可以使用特殊的_context变量将整个上下文作为参数传递.
将_context传递给宏以及在宏中访问宏的语法是什么?
谢谢
Ala*_*blo 13
请考虑以下示例:
1)在当前上下文中创建变量
{% set x = 42 %}
Run Code Online (Sandbox Code Playgroud)
2)声明一个以对象作为参数的宏
{% macro test(variables) %}
variable x = {{ variables.x | default('undefined') }}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)
3)使用特殊_context对象调用宏
{{ _self.test(_context) }}
Run Code Online (Sandbox Code Playgroud)
这将显示:
变量x = 42