2014-11-02 103 views
-1

我想向一个Twig对象添加一些值,以便在render()/ display()模板时使用。像“分配”功能。我可以在文档中找到的是将数组传递给render()/ display()。如何向Twig添加变量

例如,我想流动的样子:

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

回答

2

你用错误信息的例子是不是这个情况,通常错误消息是由flashbags发送非常siutable,但如果你想声明一些全球树枝变量有一些方法可以做到:

  1. parameters.yml文件中设置的变量 - 为前,sitename: Site Name,在config.yml文件下twig节 - >globals部分设置,

为前:

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

后,你可以用它在你的模板文件,如sitename

  • 如果您的变量比较复杂,你可以扩展树枝,添加全局变量addGlobal()方法,你可以找到more information here
  • +0

    addGlobal()正是我想要的 - 谢谢。关于错误信息 - 我正在做的是从闪存邮件中读取,然后将它们放入我的模板中。但是,我在我的基本控制器中这样做 - 在执行动作之前,所以我不能将它包含在传递给display()的数组中。 – Pickle 2014-11-02 08:19:11