Sur cette page
Filtres
Les variables peuvent être modifiées par filtres. Les filtres sont séparés de la variable par un symbole de barre verticale (|). Plusieurs filtres peuvent être chaînés. La sortie d’un filtre est appliquée au suivant.
{{ page.title|truncate(25)|capitalize }} filter_by
Filtre une collection de pages par nom/valeur de variable.
{{ collection|filter_by(variable, value) }} Exemple:
{{ pages|filter_by('section', 'blog') }} filter
Pour les cas plus complexes, vous devez utiliser le filter natif de Twig.
Exemple:
{% pages|filter(p => p.virtual == false and p.id not in ['page-1', 'page-2']) %} markdown_to_html
Convertit une chaîne Markdown en HTML.
{{ markdown|markdown_to_html }} {% apply markdown_to_html %}
{# Markdown here #}
{% endapply %} Exemples :
{% set markdown = '**This is bold text**' %}
{{ markdown|markdown_to_html }} {% apply markdown_to_html %}
**This is bold text**
{% endapply %} toc
Extrait uniquement les en-têtes correspondant au selectors donné (h2, h3, etc.), ou à ceux définis dans la configuration pages.body.toc s'ils ne sont pas spécifiés.
Le paramètre format définit le format de sortie : html ou json.
Le paramètre url est utilisé pour créer des liens vers des titres.
{{ markdown|toc(format, selectors, url) }} Exemples :
{{ page.body|toc }}
{{ page.body|toc('html') }}
{{ page.body|toc(selectors=['h2']) }}
{{ page.body|toc(url=url(page)) }} json_decode
Convertit une chaîne JSON en tableau.
{{ json|json_decode }} Exemple:
{% set json = '{"foo": "bar"}' %}
{% set array = json|json_decode %}
{{ array.foo }} yaml_parse
Convertit une chaîne YAML en tableau.
{{ yaml|yaml_parse }} Exemple:
{% set yaml = 'key: value' %}
{% set array = yaml|yaml_parse %}
{{ array.key }} slugify
Convertit une chaîne en slug.
{{ string|slugify }} u
Le filtre u enveloppe un texte dans un objet Unicode (une instance Symfony UnicodeString) qui expose des méthodes pour « manipuler » la chaîne.
Exemple:
{{ 'cecil_string with twig'|u.camel.title }} CecilStringAvecTwig
singular
Le filtre singular transforme un nom donné au pluriel en sa version singulière.
{{ string|singular(locale)}} Exemple:
{# English (en) rules are used by default #}
{{ 'partitions'|singular }} partition
{{ 'partitions'|singular('fr') }} partition
plural
Le filtre plural transforme un nom donné au singulier en sa version plurielle.
{{ string|plural(locale)}} Exemple:
{# English (en) rules are used by default #}
{{ 'animal'|plural }} animaux
{{ 'animal'|plural('fr') }} animaux
excerpt
Tronque une chaîne et ajoute un suffixe.
{{ string|excerpt(length, suffix) }} | Options | Descriptif | Tapez | Par défaut |
|---|---|---|---|
| longueur | Tronque après ce nombre de caractères. | entier | 450 |
| suffixe | Ajoute des caractères. | chaîne | … |
Exemples :
{{ variable|excerpt }}
{{ variable|excerpt(250, '...') }} excerpt_html
Lit les caractères avant ou après la balise <!-- excerpt --> ou <!-- break -->.
Voir Documentation de contenu pour plus de détails.
{{ string|excerpt_html({separator, capture}) }} | Options | Descriptif | Tapez | Par défaut |
|---|---|---|---|
| séparateur | Chaîne à utiliser comme séparateur. | chaîne | excerpt|break |
| capturer | Pièce à capturer, before ou after le séparateur. | chaîne | before |
Exemples :
{{ variable|excerpt_html }}
{{ variable|excerpt_html({separator: 'excerpt|break', capture: 'before'}) }}
{{ variable|excerpt_html({capture: 'after'}) }} highlight
Met en surbrillance une chaîne de code avec highlight.php.
{{ code|highlight(language) }} Exemples :
{{ '<?php echo $highlighted->value; ?>'|highlight('php') }} preg_split
Divise une chaîne en un tableau à l'aide d'une expression régulière.
{{ string|preg_split(pattern, limit) }} Exemple:
{% set headers = page.content|preg_split('/<br[^>]*>/') %} preg_match_all
Effectue une correspondance d'expression régulière et renvoie le groupe pour toutes les correspondances.
{{ string|preg_match_all(pattern, group) }} Exemple:
{% set tags = page.content|preg_match_all('/<[^>]+>(.*)<\/[^>]+>/') %} hex_to_rgb
Convertit une couleur hexadécimale en RVB.
{{ color|hex_to_rgb }}