Repetir el contenido de un bloque en twig

Función block en twig

Hoy os voy a enseñar un pequeño truco para hacer más fácilmente extensibles nuestras plantillas en twig. Muchas veces tenemos que repetir el contenido de un bloque múltiples veces en la misma plantilla, por lo que al extenderla, debemos repetir dichos contenidos varias veces. Un ejemplo es el título de nuestra página que irá en la cabecera dentro del title, en el meta title y puede que en un h1 dentro de nuestro contenido.

La función block()

Para solucionar este problema podemos usar la función block() que imprime el contenido del bloque pasado como parámetro. De ese modo podemos reutilizar el contenido de un bloque o cambiarlo con facilidad.

Como puede verse en el ejemplo no es necesario que se declare el bloque antes de usar la función block(). En el caso de que el bloque no exista simplemente no imprimirá contenido.

Como no perder flexibilidad

Por supuesto, podemos pensar que esto nos hace perder flexibilidad ya que no tendremos control sobre el contenido de los bloques repetidos pero en realidad nada nos impide usar block() dentro de otro bloque.

Conclusión

Como hemos visto, block() nos permite varios niveles de personalización sin necesidad de repetir el contenido. De ese modo, facílitamos la herencia de nuestras plantillas sin necesidad de repeticiones y sin perder flexibilidad.

Podemos consultar la documentación de Twig si queremos más información.

Espero que os haya resultado útil.

Etiquetado con

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *