2016-12-09 1 views
0

私は現在Symfony 3を使用して自分のCMSを作成しています。問題はすべてのコントローラに同じ変数を含めています。例えばSymfonyすべてのTwigテンプレートの同じ変数

私は、私はので、私は、データベースにそれにURLをちょうど私の管理パネルにアップロードしておくいるロゴをレンダリングし、コントローラ内のメタのような他のデータ(サイトdescryption、サイトのタイトルなど)をフェッチしたい

- それを配列として渡し、base.html.twigを呼び出してください。

しかし、base.html.twigは私がコントローラで使用する他のすべての枝テンプレートを拡張しています。

私の問題の解決策はありますか?

+0

すべてのTwigテンプレートで '{%extends 'base.html.twig'%}'を使用していますか?実際にあなたのコードを投稿していません。ようこそstackoverflowへ! –

+0

ありがとうございます。 私は解決策を見つけました。 addGlobal()メソッドを使用して、いくつかのグローバル変数をtwigに追加できます。 – OceanFire

答えて

0

あなたのコメントに基づいて回答を投稿してください。そのようなあなたのベースコントローラで

使用addGlobal()方法:$variableはあなたが必要なグローバル変数がある

$this->get('twig')->addGlobal('variable', $variable); 

+0

私は何かを理解していません。私は他の人とそれを接続していないときにどのように私はベースコントローラでそれを使用することができます。たとえば、CategoryControllerはHomeControllerと似ていないか、接続されていません。 – OceanFire

+0

ところで、私はこのリンクを見つけました:http://symfony.com/doc/current/templating/global_variables.html多分それはあなたのためのより良い解決策です。私は別の答えとして投稿することができます。 –

+0

残念ながら、それは静的なメタデータのための良い解決策です。私はORM経由で取り出したい。 – OceanFire

関連する問題