2011-12-25 15 views
33

私のページのビュー要素はルートパラメータに依存し、ルートパラメータが存在する場合は何かをレンダリングします。 twigテンプレートのRouteパラメータに直接アクセスすることは可能ですか?例えばtwigテンプレートのRouteパラメータに直接アクセスすることはできますか?

TestBundle_testroute: 
    pattern: /{name} 
    defaults: { _controller: TestBundle:Default:test, name: defaultname } 

私は小枝に「名前」ルートのパラメータにアクセスする直接できるようにしたいと思います。ような何か:

{{ app.request.get('name') }} 

答えて

90

あなたはこのようにそれを達成することができます。この問題を解決するために、私はfistがリクエストオブジェクトをダンプし、属性を調べました。アトリビュートでは、リクエストに関連付けられたすべての利用可能なプロパティを表示できます。これは、twigでアクセスできます。例えば

app.request.attributes('_route'); //gives you route name 
app.request.attributes('slug'); //gives you path variable with in the controller with the name 'slug' 
+1

はどうもありがとうございました!あなたは、この方法で利用可能なすべての異なる変数を示すドキュメンテーションでページを表示することを教えてください。 – DavidW

+0

@DavidW:グローバルテンプレート変数:http://symfony.com/doc/current/book/templating.html、およびリクエストオブジェクトのゲッター:http://api.symfony.com/2.0/Symfony/Component/ HttpFoundation/Request.html – erenon

+0

私のためには機能しません。私は '{{app.request.get( 'name')}}'を小枝テンプレートに追加しましたが、空白(注釈で定義されたルート)のみを返します。クリアされたキャッシュとすべて...私は何かが恋しいですか? – AaL

0

私も同じ問題を抱えています:

{{ routing.name }} 
関連する問題