Cabe señalar que si tiene parámetros de consulta adicionales en su URL, que no son parte de la ruta configurada, la respuesta aceptada no los incluirá en la URL (ruta) actual.
¿Por qué quieres parámetros adicionales?
Por ejemplo, si tiene una página de lista con registros que se pueden filtrar por palabra clave y la página tiene paginación, lo más probable es que las variables de consulta para "palabra clave" y "página" no estén en su ruta. Pero en los botones de avance y retroceso para paginación, necesita la URL actual completa (que contiene las palabras clave para que la siguiente página todavía se filtre). Y necesita modificar la variable de página.
Cómo combinar parámetros de consulta adicionales
Para que pueda obtener la ruta actual y combinar las variables adicionales (después de modificar una o más de esas variables adicionales). Tenga en cuenta que está fusionando sus propias variables con app.request.query.all
, y luego fusionando esa matriz en app.request.attributes.get('_route_params')
. El path()
método requiere que proporcione todos los parámetros necesarios de la ruta, por lo que debe incluir el _route_params
.
{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge(app.request.query.all|merge({'page': 2 }))) }}
Eso es realmente feo, pero si está desarrollando la paginación, deberá modificar la variable de página en cada enlace por separado, por lo que debe incluir todo el asunto cada vez. Quizás otros tengan una mejor solución.