2017-03-22 13 views
0

私はあなたがTWIGでこのようにグローバル変数を設定することができます知っている:グローバルなTWIG変数を変更/拡張するにはどうしたらいいですか?

# config.yml 
# Twig Configuration 
twig: 
    debug:   "%kernel.debug%" 
    strict_variables: "%kernel.debug%" 
    cache : false 
    globals : 
     server : 127.0.0.1 

は今、私が欲しいものを先在グローバル変数app.request.hostを使用するカスタム変数serverを作成することです。 TWIGテンプレートでその変数を参照することはできますが、YMLファイルでどのように行うことができますか?

1つの文で:別のものからグローバルなTWIG変数を作成したいと思います。

答えて

1

なぜパラメータを指定しないでください。 ちょうどあなたがこのようなYMLファイルでそれを参照することができその後

server: 127.0.0.1 

をparameters.ymlあなたにそれを置く:

"%server%" 

は、このようなグローバル変数に追加します。

twig: 
    globals: 
     server: '%server%' 

コントローラーで必要な場合は、この方法を使用してください:

$this->getParameter("server") 
+0

それは私が欲しいものではないからです。既存の 'app.request.host'変数を使用して、コードが実行されるドメインに自動的に設定します。あなたの例では、ドメインを変更するたびに 'parameters.yml'を更新する必要があります。これはやりたくありません。ところで、これらのフレームワーク変数はどこに定義されていますか?たぶん私は単にそれらを変更することができます。 –

+1

私はあなたが達成しようとしていることをよく分かりません。しかし、このサーバーのようなグローバル変数としてサービスを挿入することもできます: "@some_service"。このサービスは、別のグローバル変数を含む任意の値を返すことができます。そのサービスにtwigを挿入し、これを使って$ twig-> getGlobals()を取得します。 –

関連する問題