Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Render en Twig

18 de octubre de 2013

Muy buenas, tengo un pequeño problema con las plantillas y los controladores, tengo un pie de una web que necesita recoger datos de una acción. En este caso la acción es indexAction.

Lo que me ocurre que el pie se encuentra en el fichero base.html.twig ya que el pie aparece en todas las páginas.

{% render "VideoBundle:Front:index" with {'estrenos_p': 4, 'valorados_p': 4} %}

Y me muestra la página en blanco, tanto a la que quiero crear nueva que se llama /contactos, como el index, el cual antes se veía perfectamente.

¿?

Gracias y un saludo!!


Respuestas

#1

Aunque no nos has dicho la versión de Symfony2 que estás utilizando, te comento que a partir de Symfony 2.3 la sintaxis para renderizar controladores en una plantilla ha cambiado bastante. Ya no se utiliza la etiqueta {% render %} sino la función render() junto con la función controller(). En tu ejemplo, el código a utilizar sería:

{{ render(controller('VideoBundle:Front:index', {'estrenos_p': 4, 'valorados_p': 4})) }}

Al margen de la sintaxis, deberías probar a ejecutar la acción indexAction() para ver si produce algún error. No olvides ejecutarlo siempre en el entorno de desarrollo y observa si se añade algún mensaje de error en el archivo app/logs/dev.log.

Por último, si el error que se produce es que se ve una página totalmente en blanco sin ningún contenido, esto suele ser señal de una mala configuración en los permisos de Symfony2. Para solucionarlo, echa un vistazo al artículo Cómo solucionar el problema de los permisos de Symfony2

@javiereguiluz

20 octubre 2013, 20:35
#2

Si, perfecto, tras repasar un poco más el libro he encontrado la solución perfecta, gracias!!

@ramondevesag

22 octubre 2013, 11:58