我通過render函數從base.twig文件呈現header.twig。所以在我的base.twig有以下代碼來觸發頭控制器:Symfony2 app.request.get在呈現的樹枝模板中返回null
{{ render(controller('MyBundle:Global:header')) }}
該控制器呈現header.twig。在這個枝杈文件中有下面的代碼鏈接更改語言:
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale' : app.request.locale })) }}"><img src="{{ asset('flags/'~app.request.locale~'.png', 'img') }}" /></a>
的物體形成app.request.get(「_路線」)和app.request.get(「_ route_params」)都返回null。
app.request.get('_route')
如果我直接在base.twig運行相同的代碼鏈接請求返回正確的對象。看起來像是因爲header.twig有自己的控制器,請求不起作用。是否有可能以其他方式請求活動網址的路由和參數?
使用'app.request.get( '_ route_params',{})'這樣,如果沒有'_route_params'它會默認爲emty對象。 – qooplmao
這有助於消除錯誤,我只需要這些值,因爲這些值應該在應用程序中可用。這些是標準路由網址和url中的參數。 – Tom