formacion twig

Post on 13-Jun-2015

366 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

M. Ángel Delgado

TWIG

Índice

Introducción Basics de Twig Reference Tags: Extends, Use, Include y Macro I18n en Twig

Introducción

M. Ángel Delgado

Twig es un motor de plantillas que se usa por defecto en symfony2Una plantilla es un archivo de texto que puede ser generado en el

formato que queramos (HTML, CSS, XML,..)

Rápido, Seguro y Flexible Sistema de herencia de plantillas Cacheo de plantillas

Intorducción: Basics

M. Ángel Delgado

Imprimir

{{ var }}

Acciones

{% accion %}

Comentario

{# comentario #}

Bucles

Curiosidades:

=== → sameas()

Introducción: Basics

M. Ángel Delgado

El template se divide en bloques

Estructuras de control:

Cacheo de templates

M. Ángel Delgado

Twig es rápido ya que cada plantilla se compila a clases PHP que se renderizan en tiempo de ejecución.

En devel podémos pasarle un atributo (debug = true) al array de opciones para forzar a la generación de las clases en cada ejecución.

Introducción: Reference

M. Ángel Delgado

Tags: extends I

M. Ángel Delgado

Permite extender de otro template Muy eficaz para la reutilizacion de código Se tiene que introducir siempre al principio del

documento y solo se puede extender de un template

Tags: extends II

M. Ángel Delgado

{{ parent() }} el contenido original del mismo bloque en la plantilla base sea agregado

Curiosidad: Podemos poner el nombre del bloque en el cierre para facilitar su lectura:

Tags: extends III

M. Ángel Delgado

Herencia condicional:

Heréncia dinámica:

– A partir de 1.2:

Tags: extends IV

M. Ángel Delgado

Ejemplo de herencia:

Tags: Use

M. Ángel Delgado

• Importamos bloques de otros templates pero:– No pueden extender de ningún otro.

– No tienen macros definidas.

– Su body esta vacío.

Tags: Use II

M. Ángel Delgado

• Si el template tiene un bloque con el mismo nombre, se ignora el de use.

– Para ello podemos usar el {{ parent() }} (desde 1.3)

– Podemos renombrar el bloque

• Podemos usar el use tantas veces como queramos pero si dos o más templates tienen el mismo bloque el ultimo es el que gana.

Tags: Include

M. Ángel Delgado

• Podemos acceder a las variables del que lo invoca

• Podemos añadirle nuevas variables al template

• Podemos bloquear el acceso a las variables

Tags: Include II

M. Ángel Delgado

• Control sobre los include:

• Include condicional:

• Include dinámico:

• Si no se añade el include missing y no existe ningun template, dara una excepción

Tags: macro

M. Ángel Delgado

• Son funciones pero:– Los valores predeterminados de los argumentos se

definen usando el filtro default en el cuerpo de la macro;

– Los argumentos de una macro siempre son opcionales.

• No podemos acceder a las variables de la plantilla

Tags: macro II

M. Ángel Delgado

• Debemos importar las macro como si de una plantilla se tratase

• Si la macro está definida en la misma plantilla, accedemos mediante _self

Tags: macro III

M. Ángel Delgado

• Ejemplo:

I18n en Twig

M. Ángel Delgado

• Twig dispone de una extension para i18n

• Con el bloque {% trans %} podremos utilizar las etiquetas

Gracias!

top related