如何向Twig添加变量

时间:2014-11-02 00:14:39

标签: php symfony templates twig

我想在Twig对象中添加一些值,以便在渲染()/ display()模板时使用。类似于“赋值”功能。我在文档中找到的就是将数组传递给render()/ display()。

例如,我希望流程看起来像:

$Twig = MakeNewTwigEtc();
...
...
$Twig->assign('error','Bad username/password');
...
...
$Twig->display('login-form.html');
...
Twig template file can now output error with {{ error }}

1 个答案:

答案 0 :(得分:3)

带有错误消息的示例对于这种情况不是很容易理解,通常错误消息是由flashbags发送的,但是如果你想声明一些全局twig变量,你可以采用以下方法:

  1. parameters.yml文件中设置变量 - 例如sitename: Site Name,位于config.yml部分下的twig文件中 - > globals部分设置了它,
  2. 代表:

    # Twig Configuration
    twig:
        globals:
            sitename: "%sitename%"
    

    之后,您可以在sitename

    等模板文件中使用它
    1. 如果您的变量更复杂,您可以扩展Twig,使用addGlobal()方法添加全局变量,您可以找到more information here