2011-12-25 61 views
33

我的頁面上的視圖元素取決於路由參數,並且如果存在路由參數將呈現某些內容。是否可以直接訪問樹枝模板中的Route參數?是否可以直接訪問樹枝模板中的Route參數?

例如:

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

我想是直接能夠訪問「名」路線參數的樹枝。喜歡的東西:

{{ routing.name }} 

回答

90

可以實現這樣說:

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

非常感謝你!你能不能指出我在頁面中顯示所有可用的這個變量的文檔? – DavidW 2011-12-28 07:24:07

+0

@DavidW:全局模板變量:http://symfony.com/doc/current/book/templating.html和請求對象的獲取者:http://api.symfony.com/2.0/Symfony/Component/ HttpFoundation/Request.html – erenon 2012-06-19 07:41:07

+0

不適用於我。我向我的樹枝模板添加了{{app.request.get('name')}}',但它只返回一個空白(由註釋定義的路由)。清除緩存和所有...我錯過了什麼? – AaL 2012-07-03 16:37:42

0

我也有同樣的問題。爲了解決這個問題,我先扔掉請求對象並通過屬性。在屬性中,您可以看到與可以通過樹枝訪問的請求關聯的所有可用屬性。例如

app.request.attributes('_route'); //gives you route name 
app.request.attributes('slug'); //gives you path variable with in the controller with the name 'slug' 
相關問題