2014-03-12 50 views
2

在symfony2.3上創建菜單我已經使用了渲染功能來添加菜單。在我的管理模板上使用渲染器

控制器側欄添加數據庫的所有鏈接。

當我想添加「當前」類,因爲我無法從呈現請求訪問當前url /控制器時,問題發生。

{{ render(controller('AdminDashboardBundle:Template:sidebar')) }} 

如何從渲染控制器訪問所有信息(無需傳遞var)?

感謝

回答

1

RequestStack服務已建成的Symfony 2.4。如果您將模板控制器聲明爲服務並注入RequestStack,則可以在不傳遞參數的情況下使用當前的render調用。

但是你在談論Symfony 2.3,不幸的是我不認爲有可能在沒有參數的情況下做你想做的事情。以下是一些關於如何將當前路由/ URL作爲控制器參數傳遞的示例。

1)傳遞的網址:

{{ 
    render(controller('AdminDashboardBundle:Template:sidebar', { 
     'url': app.request.requesturi 
    })) 
}} 

2)傳遞路線:

{{ 
    render(controller('AdminDashboardBundle:Template:sidebar', { 
     'route': app.request.attributes.get('_route'), 
     'route_params': app.request.attributes.get('_route_params') 
    })) 
}} 

我知道你想使用Symfony2.3與此調用沒有通過增值經銷商,我認爲這是根本由於scopes的工作原因,不可能。