変数を全てのテンプレートへ注入する(グローバル値)

使用している全てのテンプレートからアクセスできる変数が必要なときもあります。これは、 app/config/config.yml ファイルの内部で指定することで可能です。

# app/config/config.yml
twig:
    # ...
    globals:
        ga_tracking: UA-xxxxx-x

これで、 ga_tracking の変数が全ての Twig のテンプレートで使用可能になりました。

<p>Our google tracking code is: {{ ga_tracking }} </p>

とても簡単でした。ビルトインシステム サービスのパラメータ化 のアドバンテージを受けることもできます。そうすれば、値を孤立化できますし、また、再利用もできるようになります。

; app/config/parameters.ini
[parameters]
    ga_tracking: UA-xxxxx-x
# app/config/config.yml
twig:
    globals:
        ga_tracking: %ga_tracking%

前と全く同じ変数が使用可能になりました。

さらに複雑なグローバル値

使用したいグローバル値がより複雑だった際には(例えばオブジェクト)、上記の方法を使用することはできません。代わりに、 Twig Extension を作成し、グローバル値を getGlobals メソッドのエントリの1つとして返す必要があります。

このページのコンテンツ

ソース



クイックリンク

コメントリスト


ご質問や翻訳不備等お気軽にコメントください。


現在、翻訳が古くなっている箇所が多くあります。1箇所、1行などほんの少量でもかまいませんので、ドキュメント翻訳にご協力いただける方を募集しています。日本 Symfony ユーザー会メーリングリストまでご連絡ください。