如何将变量添加到Twig


How to add variables to Twig

我想向Twig对象添加一些值,以便在渲染()/显示()模板时使用。类似于"分配"功能的东西。我在文档中所能找到的就是将数组传递给render()/didisplay()。

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

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

您的错误消息示例在这种情况下不太适用,通常错误消息是通过闪存盘发送的,但如果您想声明一些全局分支变量,有一些方法可以做到:

  1. parameters.yml文件中设置变量-例如sitename: Site Name,在config.yml文件中twig节->globals节下设置它

例如:

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

之后,您可以在sitename 等模板文件中使用它

  1. 如果你的变量更复杂,你可以扩展Twig,用addGlobal()方法添加全局变量,你可以在这里找到更多信息