1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
.. -*- coding: utf-8 -*-
.. _annexe-technique-4-jinja-filters:
==========================================================
Annexe technique 4 - Filtres pour les patrons de documents
==========================================================
:Auteurs: Étienne Loks, Ishtar team
:Date: 2021-01-08
:Copyright: CC-BY 3.0
:Ishtar Version: v3.1.0
----------------------------------
Les patrons de documents permettent d'utiliser des filtres sur les données de la base de données. Cela permet essentiellement de mettre en forme les champs . Certains de ces filtres sont directement disponibles via la bibliothèque utilisée dans Ishtar, d'autres ont été développés au sein d'Ishtar.
Pour utiliser un filtre, à la suite de la variable, il faut utiliser le
caractère `|`, par exemple : `{{variable|capfirst}}`.
.. note:: Les filtres peuvent se chaîner. On peut donc écrire : `{{variable|human_date|capitalize}}.`
Pour les différents exemples nous utilisons directement une chaîne de caractères pour illuster, en utilisation réelle on utilise un nom de variable.
Les différents filtres disponibles sont :
- **capfirt**
Ce filtre met la première lettre en majuscule et ne touche pas au reste de la
chaîne.
- `{{"saint georges d'oléron"|capfisrt}}` -> `Saint georges d'oléron`
- **lowerfirst**
Ce filtre met la première lettre en minuscule et ne touche pas au reste de la
chaîne
- `{{"SAINT-GEORGES D'OLÉRON"|lowerfirst}}` -> `sAINT GEORGES D'OLÉRON`
- **capitalize**
Ce filtre met la première lettre de chaque mot en majuscule et le reste de la
chaîne en minuscule.
- `{{"SAINT-GEORGES D'OLÉRON"|capitalize}}` -> `Saint-Georges d'Oléron`
- **human_date**
Ce filtre permet d'afficher une date en toutes lettres.
- `{{"2020-01-01"|human_date}}` -> `1 janvier 2020`
- **splitpart**
Ce filtre permet d'extraire un élément depuis une chaîne de
caractères en prenant en compte un séparateur. Par exemple depuis la chaîne
`2,3,10`, accéder au troisième élément : `10`. Ce filtre nécessite au minimum
un argument : le numéro de l'élément souhaité (en commençant le compte à 0).
Par défaut le séparateur `,` est utilisé si l'on souhaite un autre
séparateur, on spécifie celui-ci en second argument.
- `{{"9,2,10"|splitpart(1)}}` -> `2`
- `{{"chaise;bureau;papier;paragraphe"|splitpart(0, ";")}}` -> `chaise`
|