繁体   English   中英

base.html.twig中的自定义变量

[英]Custom Variables in base.html.twig

我想知道如何在交响乐应用程序的base.html.twig中使用自定义变量。

我知道我可以使用{{app.whatever}},但是如果愿意,我将如何使用{{myvariable}}或{{myentity.row}}?

谢谢

由于变量是用树枝模板渲染的,因此您可以在父模板和子模板中都使用此变量。

换句话说,如果您具有以下基本模板:

// base.html.twig
<html>
    <body>
       {{ block body }} 
       {{ endblock }}
    </body>
</html>

以下子模板:

// child.html.twig
{% extends 'base.html.twig' %}
{% block body %}
    // content
{% endblock %}

以及以下控制器动作:

public function renderVariableAction()
{
    return $this->render('child.html.twig', [
        'hello' => 'Hello world',
    ]);
}

您可以在base.html.twigchild.html.twig使用{{ hello }}

编辑

对于全局变量:

// app/config/config.yml
# ...

twig:
    # ...
    globals:
        your_custom_var: "your_value"

您无法定义始终分配给特定模板的变量,该变量必须随其动态呈现。

注意您可以像这样动态定义全局变量:

$this->get('twig')->addGlobal('entity', $entity);

因此,您可以使用EventListener轻松地将相同的变量注入kernel.response

请参阅模板中的全局变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM