Código Twig:
Ver original
{% extends '::frontend.html.twig' %} {#variable que se captura desde la ruta#} {% set provinciaSeleccionada = app.request.attributes.get('provincia') %} {% block stylesheets %}{{parent()}}{% endblock %} {% block javascripts %}{{parent()}} {% endblock %} {% block title %}Portada{% endblock %} {% block id 'portada' %} {% block article %} Avisos {% include 'AvisosOfertasBundle:Page:avisos.html.twig' %} {% endblock %} {% block sidebar %} {{parent()}} {{render(controller('AvisosOfertasBundle:Page:sidebar'))}} {% endblock %}
en el menu de "sidebar" que es este fragmento y que renderiza del render que figura en el fragmento anterior se le debe agregar a la url del link la variable "provinciaSeleccionada" para luego hacer un filtrado de avisos segun la provincia y la categoría elegida...
Código HTML:
Ver original
<section> <div class="menu-lat"> <ul class="navegador" id="menu"> {% for categoria in categorias %} <ul class="subnavegador" id="subnavegador"> {% for subcategoria in subcategorias %} {%if categoria.idcategoria == subcategoria.categoria.idcategoria %} {%endif%} {% endfor %} </ul> </li> {% endfor %} </ul> </div> </section>
si lo hago como muestro aquí me da un error porque el fragmento de categorias no extiende la variable "provinciasSeleccionadas", si coloco el set de la variable dentro del fragmento tampoco me lo toma y por el controlador que renderiza esta vista tampoco pasa el valor de la variable, no se que diablos hacer
jeje no bueno me puse un rato a razonar el problema y lo que hice fue pasar por el render la variable Twig "provinciaSeleccionada", con el parametro lo que hice despues es buscar el entity que corresponde a esa variable y la rendericé hacia la plantilla de categorías donde con un if compruebo que tenga un parametro dentro de la variable "provincia" y luego con un set la guardo en una nueva variable Twig "provinciaSlug" para pasarla a la direccion url, si no hacía este proceso todo lo demas de intentar pasar la variable del controller directo a la url da puro error. No se verá muy bonito pero funcionó.

