Grav - Filtres et fonctions Twig

Dans ce chapitre, étudions les Twig Filters and Functions. Les filtres sont utilisés pour formater les données comme vous le souhaitez avec la sortie requise également. Les fonctions sont utilisées pour générer du contenu.

Les modèles Twig sont des fichiers texte contenant des expressions et des variables remplacées par des valeurs. Twig utilise trois types de balises.

  • Output tags - La syntaxe suivante est utilisée pour afficher le résultat des expressions évaluées ici.

{{  Place Your Output Here  }}
  • Action Tags - La syntaxe suivante est utilisée pour exécuter les instructions ici.

{%  executable statements are placed here  %}
  • Comment tags - La syntaxe suivante est utilisée pour écrire des commentaires dans le fichier modèle Twig.

{#  write your comment here  #}

Filtres Twig

Twig Filters utilise le |caractère pour appliquer des filtres à la variable Twig suivi du nom du filtre. Les arguments peuvent être passés entre parenthèses de la même manière que les fonctions Twig.

Le tableau suivant montre les filtres Twig utilisés dans Grav -

N ° Sr. Filtre et description Exemple
1

Absolute URL

Il prend le chemin relatif et le convertit en une URL absolue.

'<img src="/some/path/img.jpg"/>' |absolute_url

se convertit en -

<img src="http://learn.getGrav.org/some/path/img.jpg" />
2

Camelize

Il convertit une chaîne au format CamelCase.

'contact_us'| camelize

se convertit en -

ContactUs
3

Contains

s'il trouve la chaîne.

'This is some string' | contains('some')

la sortie est -

1
4

Defined

Vous pouvez vérifier si une variable est définie ou non. Si la variable n'est pas définie, vous pouvez fournir une valeur par défaut.

set header_image_width = 
page.header.header_image_width|defined(900)

Il définit header_image_width avec la valeur 900 si elle n'est pas définie.

5

Ends-With

Vous pouvez déterminer si une chaîne se termine par une chaîne donnée à l'aide du filtre Ends-With.

'this is an example for ends-with filter' | ends_with('filter')

il est affiché comme -

True
6

FieldName

Il filtre le nom du champ en changeant le point en notation tableau.

'field.name'|fieldName

il est affiché comme -

field[name]
sept

Humanize

Il est utilisé pour convertir une chaîne au format lisible par l'homme.

'some_text_to_read'|humanize

il est affiché comme -

Some text to read
8

Ksort

Il trie une carte de tableau en utilisant la clé.

{% set ritems = {'orange':1, 'apple':2, 'peach':3}|ksort %}
{% for key, value in ritems %}{{ key }}:{{ value }}, {% endfor %}

il est affiché comme -

apple:2, orange:1, peach:3,
9

Left Trim

Il est utilisé pour supprimer les espaces blancs au début d'une chaîne et supprime le caractère correspondant donné du côté gauche de la chaîne.

'/strip/leading/slash/'|ltrim('/')

il est affiché comme -

strip/leading/slash/
dix

Markdown

Il est utilisé pour convertir la chaîne contenant le markdown en HTML à l'aide de l'analyseur de markdown de Grav.

'## some text with markdown'|markdown

il est affiché comme -

some text with markdown

11

MD5

Le hachage md5 de la chaîne peut être créé à l'aide de ce filtre.

'something'|md5

il est affiché comme -

437b930db84b8079c2dd804a71936b5f
12

Monthize

En utilisant le filtre Monthize, nous pouvons convertir un nombre entier de jours en nombre de mois.

'61'|monthize

il est affiché comme -

2
13

Nice Time

En utilisant le filtre Nice Time, nous pouvons obtenir une date au format d'heure lisible par l'homme comme sortie.

page.date|nicetime(false)

il est affiché comme -

3 hrs ago
14

Ordinalize

Ordinaux (comme 1 er , 2 ème , 3 ème ) peuvent être donnés en nombres entiers à l'aide de filtre Ordinalize.

'78'| ordinalize

il est affiché comme -

78th
15

Pluralize

Une chaîne peut être convertie en sa forme plurielle en anglais en utilisant le filtre Pluraliser.

'child'|pluralize

il est affiché comme -

children
16

Randomize

Ce filtre permet de randomiser la liste fournie. Si le paramètre contient des valeurs, ces valeurs sont ignorées de la randomisation.

{% set ritems = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']|randomize(3) %}
{% for ritem in ritems %}{{ ritem }}, {% endfor %}

il est affiché comme -

one, two, three, eight, six, five, nine, seven, ten, four,
17

Right Trim

Il est assez similaire à la découpe de gauche, sauf qu'il supprime les espaces et les caractères correspondants du côté droit de la chaîne.

'/strip/leading/slash/'|rtrim('/')

il est affiché comme -

/strip/leading/slash
18

Singularize

Une chaîne peut être convertie en version singulière anglaise en utilisant le filtre singulier.

'vehicles'|singularize

il est affiché comme -

vehicle
19

Safe Email

Le filtre E-mail sécurisé est utilisé pour convertir une adresse e-mail en caractères ASCII afin de rendre plus difficile le spam d'un e-mail.

"[email protected]"|safe_email

la sortie est -

[email protected]
20

SortByKey

Il est utilisé pour trier la carte du tableau à l'aide de clés.

{% set people = [{'email':'[email protected]', 'id':3}, {'email':'[email protected]', 'id':1}, {'email':'[email protected]', 'id':7}]|sort_by_key('id') %}
{% for person in people %}{{ person.email }}:{{ person.id }}, {% endfor %}

il affiche -

[email protected]:1, [email protected]:3, [email protected]:7,
21

Starts-With

Vous pouvez déterminer si une chaîne commence par une chaîne donnée à l'aide du filtre Starts-With.

'this is an example for starts-with filter' |starts_with('this')

la sortie est -

true
22

Translate

pour des informations plus détaillées.

MY_LANGUAGE_KEY_STRING

il affiche -

'Some text in English'
23

Translate Admin

Il traduit une chaîne dans la langue courante définie dans le user.yaml fichier.

24

Titleize

Une chaîne est convertie au format Title Case à l'aide de Titleize.

'welcome page'|titleize

il est affiché comme -

Welcome Page
25

UnderScoreize

format en utilisant le filtre UnderScoreize.

'ContactUs'|underscorize

il est converti en -

contact_us
26

Truncate a string

Vous pouvez utiliser Tronquer pour tronquer une chaîne ou raccourcir la chaîne, vous devez spécifier le nombre de caractères.

'one sentence. two sentences'|truncate(5)

il tronque en -

one s...

Vous pouvez utiliser true comme paramètre si vous ne souhaitez pas tronquer la chaîne à la fin de phrase la plus proche après le nombre de caractères donné.

'one sentence. two sentences'|truncate(5, true)

il tronque en -

one sentence
Vous pouvez également supprimer du texte HTML, mais vous devez utiliser striptags filtrer avant truncate filtre.
'<p>one <strong>sentence<strong>. two sentences</p>'|striptags|truncate(5)

il est affiché comme -

one s

Fonctions Twig

Les fonctions Twig sont directement appelées en passant le paramètre. Le tableau suivant répertorie les fonctions -

N ° Sr. Description de la fonction Exemple
1

Array

Cette fonction convertit une valeur en tableau.

array(value)
2

Authorize

Cette fonction fait qu'un utilisateur authentifié est autorisé à voir une ressource et accepte une chaîne d'autorisation ou un tableau de chaînes d'autorisation.

authorize(['admin.statistics', 'admin.super'])
3

Dump

Il accepte une variable twig valide et la vide dans le panneau du débogueur Grav. Cependant, le débogueur doit être activé pour voir les valeurs des onglets de message.

dump(page.header)
4

Debug

Cela fonctionne de la même manière que la fonction dump ().

5

Gist

Cette fonction crée le code d'intégration Gist basé sur l'ID Github Gist.

6

Random String Generation

Cette fonction créera une chaîne aléatoire avec le nombre de caractères spécifié. Ces chaînes peuvent être utilisées comme identifiant ou clé unique.

generate_random_string(10)
sept

Repeat

Cette fonction répétera la chaîne pendant une durée donnée.

repeat('Grav ', 10) will repeat Grav 10 times.
8

String

Génère une chaîne aléatoire d'une longueur de caractère spécifiée.

ta (23)
9

Translate Array

C'est une fonction liée à |ta filtre.

dix

Url

Ce filtre créera une URL et convertira également les flux d'URL PHP en ressources HTML valides. Si l'URL ne peut pas être résolue, une valeur par défaut peut être transmise.

url('theme://images/logo.png') | default('http://www.placehold.it/150x100/f4f4f4')
11

Translate

En utilisant le filtre Traduire, une chaîne est traduite comme |t filtre.

t('SITE_NAME')

est traduit en -

Site Name