2012-05-20 66 views
5

que soy muy nuevo en Symfony2 y tengo que ser capaz de probar la ruta actual en RAMITA para que pueda mostrar sub-menús en una plantilla que ha rendido como:¿Cómo puedo obtener la URL o ruta actual en TWIG?

{% render "CPAdminBundle:Messages:sidebarMenu" %} 
{% render "CPAdminBundle:Readings:sidebarMenu" %} 

Dentro de las plantillas de la barra lateral He intentado utilizar el siguiente pero arroja un error:

path(app.request.attributes.get('_route')) 

Cuál es la forma correcta de hacer lo que estoy tratando de lograr?

+0

Debe retirar [KnpMenuBundle] (https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md), que resuelve muchos de sus problemas relacionadas con el menú. – Maerlyn

Respuesta

22

La comprobación que desea hacer no pertenece a una vista. Las vistas solo deberían ocuparse de mostrar, sin hacer ningún tipo de lógica.

Haga la comprobación en su controlador y guárdela en una variable, pase esta variable a sus vistas, y compruebe el valor de esta variable allí.
Si desea hacer esto en cada acción, entregue un vistazo a kernel.controller event.

Si desea hacerlo en la vista de todos modos, simplemente compare app.request.attributes.get('_route') con la ruta que desee. No entiendo por qué pones en path().

{% if app.request.attributes.get('_route') == 'my_route' %} 
{% endif %} 
+0

la ruta fue algo que obtuve de Google pero incluso si trato de imprimir ** {{app.request.attributes.get ('_ route')}} ** el resultado dice ** _ internal ** y puedo ' Parece que tengo el nombre de la ruta en la vista, que es lo que necesito, ya que tengo 10 plantillas twig que irán en mi barra lateral y mostrarán submenús de acuerdo con la ruta actual – MikeGA

+0

¿Cuál es el resultado de '$ this-> getRequest() - > attributes-> get ('_ route') 'en el controlador? –

+0

Me da el nombre de la ruta actual como esperaba, PERO no creo que deba hacer esto en cada controlador que tenga alrededor de 20, ¿no crees que debería verificarse en la plantilla de mi barra lateral? – MikeGA

Cuestiones relacionadas