2014-02-10 14 views

回答

4

試試這個:

{{ render(controller("SomeBundle:Foo:bar", {'all': app.request.query.all}) }} 

,並在行動儲存於$all可變

public function barAction($all) { 
    // other your code 
} 
+0

在這種情況下SomeBundle:Foo:bar url將會工作如果我想直接訪問而不是通過subrequest。我想確保它在兩種情況下都能正常工作。 – vishal

+0

嘗試轉儲'$ all'和'subrequest',你會發現它們是不同的。這也取決於你的具體目標。我想你可能需要完全使用'$ all' –

2

從你的控制器:

array_merge($request->query->all(), $request->get('_route_params')); 

//query->all : get all query string parameters 
//_route_params : get current route parameters 

從您的樹枝模板必須是某事像:

app.request.query.all|merge(app.request.attributes.get('_route_params')) 

我從來沒有在樹枝模板中使用這一點,所以第一次測試;)

然後無論你想建立你會傳給你的子請求

0

的變量,你可以使用該功能只是通過在什麼是app.request.query.all:

{{ render(controller("SomeBundle:Foo:Bar", app.request.query.all) 

要合併一些額外的:

{{ render(controller("SomeBundle:Foo:Bar", { something: 'extra' }|merge(app.request.query.all)) 

在Symfony 3.3.10和Twig中測試1.35.0

相關問題