2012-05-11 147 views
0

我如何從我的config.yml文件中獲取值,但不能將其設置爲Twig全局。例如:Symfony2 Twig:如何在模板中使用config.yml變量而不設置枝全局?

mopa_boostrap: 
    initializr: 
     meta: ~ 

當我嘗試

{{ mopa_bootstrap.initializr.meta }} 

我有錯誤,有此模板中沒有這樣的變量集。

UPDATE 由於它是沒有可能的樹枝全局的事,我已經做了枝條的擴展,它選擇的變量映射從config.yml到嫩枝全局和提供他們的模板。

對整個實現看看這裏:https://github.com/nysander/MopaBootstrapBundle/commit/d36269184cfad6d8fd465d8b622f92a302dea104

回答

1

解決方案可能會創建一個具有輸出你想要的功能的樹枝擴展。 Twig擴展將被註冊爲服務,你可以通過任何你想要的。

+0

我設法做了枝條延伸。謝謝庫巴和安東提示。 – nysander

+0

請隨時與社區分享,並在此處發佈鏈接。 :) –

+0

這個實現的大部分是在這個提交中:https://github.com/nysander/MopaBootstrapBundle/commit/d36269184cfad6d8fd465d8b622f92a302dea104看起來整個Configuration.php文件和base_initializr.html.twig模板的用例。 – nysander

1

有沒有辦法做到這一點。你必須設置全局變量來使用它們。

+0

即使有一些TwigExtension? – nysander

+0

如果你寫了一個將config.yml中的一些參數映射到全局變量的分支擴展,那麼它可能會工作,但據我所知這不是個好主意,主要是因爲配置可能包含安全數據(db密碼等),它應該不要在模板中公開這個。 –

+0

我的意思是做擴展,它只映射變量我想分枝全局不是整個配置。 – nysander