{{ render(controller("SomeBundle:Foo:Bar", {HERE I WANT TO PASS ALL query parameters app.request.query.all}) }}
Итак, могу ли я получить доступ ко всем параметрам запроса главного запроса в подзапросе, а подзапрос также должен выполняться независимо?
Попробуй это:
{{ render(controller("SomeBundle:Foo:bar", {'all': app.request.query.all}) }}
и в действии хранит его в $all
variable
public function barAction($all) { // other your code }
С вашего контроллера:
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'))
Я никогда не использовал это в шаблонах twig, поэтому сначала проверьте его;)
Затем вы можете использовать эти функции, однако вы хотите построить переменные, которые вы перейдете к вашему подзапросу
Чтобы просто передать то, что находится в 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