Macros
Afin de permettre de réutiliser des codes et conditions plus complexes, le moteur SAINet permet de définir des macros Velocity un UNI93
.
Ces macros sont des prédéfinitions de variables ou de procédures qui sont disponibles lors de l’évaluation du template.
Nom | Paramètres | Description |
---|---|---|
#iso2name |
key (string) |
Retourne le nom complet du pays correspondant à key (CH => SWITZERLAND ). Les valeurs suivantes sont supportées: CH ,FR ,IT ,DE ,AT ,LI .Cette macro est notamment utilisée dans le certificat de salaire (SAL47). Définie directement dans VelocityHelpers. |
#parse |
path (string) |
Permet d’inclure un template pointé par path . Ce paramètre peut commencer par UNI94/ ou UNI18/ pour indiquer dans quelle tâche se trouve le template. L’identifiant spécifié ensuite est utilisé pour le lookup dans la tâche correspondante.Voir également la documentation de velocity. Le lookup est défini dans DatabaseRepository. |
#include |
path (string) |
Idem que #parse sauf que velocity incluera le fichier sans l’interpréter.Voir également la documentation de velocity. |
Il est possible de faire des fallbacks sur différents éléments de la configuration via le paramètre path
.
Typiquement, en faisant appel à #parse("UNI94/sto3e/invoice_content.html")
, le système va effectuer, dans l’ordre, les recherches suivantes
et s’arrête dès que l’une d’elle est trouvée:
- Recherche dans
UNI94
du templateINVOICE_CONTENT.HTML
. - Recherche dans la configuration du fichier
Server/templates/sto3e/invoice_content.html
. - Recherche dans la configuration du fichier
Server/templates/<task>/invoice_content.html
ou<task>
dénote la tâche courante.
En utilisant simplement #parse("content.html")
, le système va essayer de charger le fichier qui se trouve
à l’emplacement Server/templates/<task>/content.html
(ou <task>
dénote la tâche courante. Il n’y a donc pas
de fallback dans ce cas.
Il est possible d’enchaîner les différents fallbacks avec par exemple #parse("UNI94/UNI18/sto3e/content.html")
:
- Recherche dans
UNI94
du templateCONTENT.HTML
. - Recherche dans
UNI18
du templateCONTENT.HTML
. - Recherche dans la configuration du fichier
Server/templates/sto3e/content.html
. - Recherche dans la configuration du fichier
Server/templates/<task>/content.html
.
Les fichiers de développement correspondants au contenu du chemin Server/templates
se trouvent dans <sainet>/modules/global/server
.