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 triples 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}}} prend la valeur de la première variable indiquée (dans notre exemple : « Variable 1 »), {{{2}}} prend 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}}}.
Inclusion
Le code inscrit sur la page des modèles est conçu pour être appelés par d'autres articles, mais il est possible de définir le comportement de certaines portions de code en les plaçant entre certaines balises :
- Noinclude : Tout code se trouvant entre ces balises sera ignoré lors de l'utilisation du modèle. On placera les instructions d'utilisation du modèle entre ces balises.
- Includeonly : Le code se trouvant entre ces balises ne s'affichera que si le modèle est appelé, et pas sur sa propre page. Utilisé pour masquer le modèle sur sa page si nécessaire (si la configuration de base du modèle ne peut constituer un exemple).
Les modèles voués à être utilisés au sein d'une phrase (comme Modèle:Citer) ne doivent pas faire usage de ces codes. Les instructions d'utilisation doivent être portées sur la page de discussion du modèle.
Un modèle peut être appelé sur sa propre page sans risque de boucle infinie.
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 | 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 « {{!}} ».
Utilisation : Organiser le texte (Listes • Notes) • Formater le texte • Liens • Images & Médias (Téléverser • Capture d'écran • Galeries) • Redirections • Modèles (Avancé) & Infobox • Catégories • Renommer • Tableaux • Options d'utilisateur • Pages spéciales • Couleurs • Sous-pages • Fonctions du parseur Normes : Bonnes pratiques • Rédaction • Politique des spoilers • Sources (Chronologie) • Canon (Incohérences) • Discuter • Groupes et administration • Traduction • Construction de page • Acronymes en vigueur • Fan works Vocabulaire : Lexique de l'armement • Lexique de l'e-sport • Lexique du jeu vidéo • Lexique radio et militaire |