Twig ejemplos

Categorías: 

Etiquetas: 

Ejemplo para mostrar una variable normal:

    <span> Fecha actual: {{ fechaActual }} </span>
  • {{ variable }} equivale a echo $variable, aunque no suelta E_NOTICE si no está definida.

Ejemplo para mostrar una array:

    <span> Valor del array: {{ arrayEjemplo.indice }} </span>
    <span> Otra forma para lo mismo: {{ arrayEjemplo['indice'] }} </span>

Ejemplo para recorrer una array/objeto en un bucle:

    {% for indice, Modelo in Modelos %}
        <span>Valor de variable: {{ Modelo.variable }}</span>
        <span>Valor del indice del bucle: {{ indice }}</span>
    {% endfor %}

Ejemplo para crear una variable en la plantilla Twig:

    {% set variableTwig = 'valor' %}
    <span>Valor de la variable: {{ variableTwig }}</span>

Ejemplo para mostrar un objeto:

    <span> Propiedad "nombre" del objeto: {{ modelo.nombre }} </span>

Ejemplo para mostrar una variable que tenga HTML dentro:

    <span> Variable con html: {{ variableConHTML | raw }} </span>

Ejemplo para hacer dump de cualquier cosa:

    <span> Dumpeando modelo: {{ dump(modelo) }} </span>

Ejemplo para ver si una variable está definida y vale algo:

    <span>{% if fechaActual is not null %} {{ fechaActual }} {% endif %}</span>

Operadores condicionales and|or:

{% if (variable1 is not null and variable2 > 0) or variable == 3 %} 
    {{ variable3 }}
{% endif %}

Ejemplo para incluir una vista dentro de otra:

{% if modelo.msgError is not null %} 
    {% include 'comun/errorFormulario.twig' %} 
{% endif %}

Ejemplo para concatenar un texto con una variable:

    <span>{{ modelo.variable }} ~ '_' ~ {{ modelo.variable2 }}</span>

Se utiliza el carácter ~ para concatenar

Ejemplo para crear un filtro personalizado

PHP

 // añadir filtro "t" para traducir cadenas
$function = new Twig_SimpleFilter('t', function ($texto) {
    return traducirTexto($texto);
});
$twig->addFilter($function);

HTML

<h1>{{ 'Título principal traducido' | t }}</h1>

Ejemplo para crear un filtro personalizado añadiendo un parámetro extra

PHP

 // añadir filtro "t" para traducir cadenas
$function = new Twig_SimpleFilter('t', function ($texto, $parametroExtra = 'es') {
    if ($parametroExtra == 'es') {
        return traducirTexto($texto);
    } else {
        return $texto;
    }
});
$twig->addFilter($function);

HTML

<h1>{{ 'Título principal traducido' | t("parametroExtraCualquiera") }}</h1>