2012-05-11 13 views
0

config.ymlファイルから値を取得する方法はありますが、Twig globalとして設定することはできません。例えば:私はSymfony2 Twig:twigグローバルを設定せずにテンプレート内でconfig.yml変数を使う方法?

{{ mopa_bootstrap.initializr.meta }} 

をしようとすると、

mopa_boostrap: 
    initializr: 
     meta: ~ 

私は、このテンプレートには、そのような変数が設定されていないというエラーが発生しました。

UPDATE それは小枝グローバルなしで行うことは不可能であるため、私は小枝グローバルにconfig.ymlから選択した変数をマッピングし、テンプレートからそれらを利用できるように小枝の拡張を行ってきました。全体の実装のための

はここを見て: https://github.com/nysander/MopaBootstrapBundle/commit/d36269184cfad6d8fd465d8b622f92a302dea104

答えて

1

解決策は、あなたが望むものを出力する機能付きのtwig拡張を作成している可能性があります。 Twigの拡張機能はサービスとして登録され、必要なものはすべて渡すことができます。

+0

私はTwig拡張を行うことができました。クバとアントンの両方のヒントに感謝します。 – nysander

+0

コミュニティと共有し、ここにリンクを公開しても構いません。 :) –

+0

この実装の大部分はこのコミットです:https://github.com/nysander/MopaBootstrapBundle/commit/d36269184cfad6d8fd465d8b622f92a302dea104また、使用例については、Configuration.phpファイルとbase_initializr.html.twigテンプレート全体を見てください。 – nysander

1

これを実行する方法はありません。あなたは小枝でそれらを使用するためにグローバルを設定する必要があります。

+0

TwigExtensionでさえも? – nysander

+0

config.ymlからのいくつかのパラメータをグローバルにマップするtwig拡張を書くと、うまくいくかもしれませんが、これは主にconfigに安全なデータ(dbパスワードなど)が含まれている可能性があるためですこれをテンプレートに公開しないでください。 –

+0

私は、全体の設定ではなく、グローバルに枝分かれしたい変数だけをマッピングする拡張を行うことを意図していました。 – nysander

関連する問題