Aide:Modèle/Avancé
Pour créer des modèles complexes, comme les Infoboxes, il est préférable d'avoir des notions de programmation.
Variables
Les variables sont identifiées par un entourage de triple accolades : {{{Variable}}}. Une variable peut être obligatoire ou non dans un modèle, et elle peut être nommée ou non :
- Variables non nommées : Un modèle appelé de cette manière {{Modèle|Variable 1|Variable 2}} utilise dans son codes des variables non nommées, qui se présentent ainsi : {{{1}}}, {{{2}}}. Le code {{{1}}} nowikind la valeur de la nowikimière variable indiquée (dans notre exemple : « Variable 1 »), {{{2}}} nowikind la deuxième valeur indiquée, et ainsi de suite pour les chiffres suivants.
- Variables nommées : Un modèle appelé de cette manière {{Modèle|Valeur=1|Poids=2}} utilise des variables nommées représentées dans son code par {{{Valeur}}}, {{{Poids}}}. Contrairement aux variables non nommées, l'ordre des valeurs ne compte pas, uniquement le nom indiqué.
- Valeur par défaut : Pour indiquer une valeur par défaut pour une variable, il faut indiquer cette valeur dans le code de la variable à droite d'un pipe : {{{1|Par défaut}}}.
Fonctions du parseur
L'extension ParserFunction fournie avec MediaWiki offre plusieurs types d'opérateurs logiques. En règle général, on effectue les tests sur des variables.
If
{{#if: {{{Variable testée|}}} | Résultat si la variable contient quelque chose | Résultat si la variable est vide ou ne contient que des espaces ou des retours à la ligne}}
- Il est important d'inclure une valeur par défaut vide avec la variable afin de s'assurer que le test fonctionne.
- Il est possible de ne pas inclure le dernier résultat si rien ne doit être affiché quand la Valeur de test est vide.
- Un if peut contenir un autre if.
Égalité
{{#ifeq: {{{Variable testée|}}} | Valeur de comparaison | Résultat si les deux premiers paramètres sont égaux | Résultat si les deux premiers paramètres sont différents}}
- Le test fonctionne avec des chaînes de caractères comme avec des nombres.
- Le test entre chaînes de caractères est sensible à la casse.
Switch
{{#switch: {{{Variable testée|}}} |Valeur 1 = Résultat si la variable et cette valeur sont égales |Valeur 2 = Idem |Valeur 3 = Idem |default = Valeur à utiliser si la variable ne correspond à aucune des valeurs listées }}
Tableaux
Le pipe « | » étant utilisé comme marqueur dans les fonctions du parseur, il ne sera pas interprété correctement lorsqu'on veut afficher directement ce caractère, comme pour les tableaux. Pour résoudre ce problème, il faut remplacer les pipes qu'on souhaite afficher par « {{!}} ».