2014-11-02 71 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