Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php base.html.twig中的自定义变量_Php_Symfony_Twig - Fatal编程技术网

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

Php base.html.twig中的自定义变量,php,symfony,twig,Php,Symfony,Twig,我想知道如何在symphony应用程序中使用base.html.twig中的自定义变量 我知道我可以使用{{app.whatever}},但如果我想使用{{myvariable}}或{{myentity.row},我该如何使用呢 谢谢因为变量是用细枝模板呈现的,所以您可以在父模板和子模板中使用此变量 换句话说,如果您有以下基本模板: // base.html.twig <html> <body>   {{ block body }} {{

我想知道如何在symphony应用程序中使用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.twig
child.html.twig
中使用
{{{hello}}

编辑

对于全局变量:

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

twig:
    # ...
    globals:
        your_custom_var: "your_value"
不能定义始终分配给特定模板的变量,必须使用该变量动态呈现该变量

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

$this->get('twig')->addGlobal('entity', $entity);
因此,您可以使用


请参阅。

如果需要在base.html.twig中使用任何变量,则可以在视图中使用该变量。只需在使用扩展该base.html.twig的模板的所有操作中传递该变量。但这并不能真正解决我想要做的事情。每次调用base.html.twig时,我都需要传递它。是否有一个配置设置,我可以告诉它使用这个变量?太好了,可以这样传递实体吗?我在编辑中添加了一个注释,使您能够将对象作为全局对象注入。