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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
.. -*- coding: utf-8 -*-
.. _annexe-technique-4-jinja-filters:
==========================================================
Annexe technique 4 - Filtres pour les patrons de documents
==========================================================
:Auteurs: Étienne Loks, Valérie-Emma Leroux
:Date: 2021-01-11
: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 Jinja 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 illustrer, en utilisation réelle on utilise un nom de variable.
Les différents filtres disponibles sont :
Formatage des chaînes de caractères
-----------------------------------
- **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-03-03"|human_date}}` -> `3 mars 2020`
- **int**
Pour afficher un nombre sans décimales.
- `{{"600.0"|int}}` -> `600`
Manipulation des chaînes de caractères
--------------------------------------
- **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`
- `{{"182025_C001"|splitpart(1, "_")}}` -> `C001`
|