Différences entre les versions de « Aide:Fonctions du parseur »

Le WikiHalo rappelle à ses contributeurs que toute information ajoutée doit être officielle et vérifiable. Les contributions sans sources et les théories sur Halo Infinite seront rejetées.

(Page créée avec « ==Switches== <nowiki> __NOTOC__ : Absence de sommaire __TOC__ : Le sommaire apparaît à l'endroit du code __NOEDITSECTION__ : Supprime le lien d'édition </nowiki> ==... »)
 
 
(6 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
==Switches==
Comme pour un fichier PHP, les articles du Wiki acceptent des fonctions préétablies. Ces fonctions sont principalement utilisées dans des mises en forme spéciales ou la conception de [[Aide:Modèle|modèles]].
<nowiki>
__NOTOC__ : Absence de sommaire


__TOC__ : Le sommaire apparaît à l'endroit du code
Les fonctions listées si-dessous sont celles d'usage le plus courant sur le WikiHalo, la liste complète est accessible [https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions par ce lien].


__NOEDITSECTION__ : Supprime le lien d'édition
==Switches==
 
*<code><nowiki>__NOTOC__</nowiki></code> : Masque le sommaire de l'article. Utilisable dans le cas d'un article court, mais avec plus de trois sections, où un sommaire n'est pas justifié.
</nowiki>
*<code><nowiki>__TOC__</nowiki></code> : Force l'apparition du sommaire à la position du code.
*<code><nowiki>__NOEDITSECTION__</nowiki></code> : Masque le lien d'édition de la section contenant le code. Utilisable sur les pages de la [[:Catégorie:Texte brut]].


==Variables==
==Variables==
<nowiki>
===Variables globales===
{{CURRENTYEAR}} : Retourne l'année en cours
Ces variables sont utilisables partout sur le Wiki.
*<code><nowiki>{{CURRENTYEAR}}</nowiki></code> : Retourne l'année en cours.
*<code><nowiki>{{CURRENTMONTH}}</nowiki></code> : Retourne le numéro du mois en cours.
*<code><nowiki>{{CURRENTMONTHNAME}}</nowiki></code> : Retourne le nom du mois en cours.
*<code><nowiki>{{CURRENTDAY}}</nowiki></code> : Retourne le numéro du jour du mois en cours.
*<code><nowiki>{{CURRENTDAYNAME}}</nowiki></code> : Retourne le nom du jour de la semaine en cours.
*<code><nowiki>{{CURRENTTIMESTAMP}}</nowiki></code> : Affiche un numéro au format YYYYMMDDHHmmss.
*<code><nowiki>{{DISPLAYTITLE:titre}}</nowiki></code> : Contourne certaines restrictions d'affichage du titre. Voir : [[Aide:Construction des pages#Titres]].
*<code><nowiki>{{FULLPAGENAME}}</nowiki></code> : Retourne le nom de la page, avec l'espace de nom ({{FULLPAGENAME}}).
*<code><nowiki>{{PAGENAME}}</nowiki></code> : Retourne le nom de la page, sans l'espace de nom ({{PAGENAME}}).
*<code><nowiki>{{SUBPAGENAME}}</nowiki></code> : Dans les sous-pages, retourne uniquement le nom de la sous-page.


{{CURRENTMONTH}} : Retourne le numéro du mois en cours
===Variables locales===
Ces variables ne sont utilisables que sur la page où elle ont été définies.
*<code><nowiki>{{#vardefineecho:Titre | valeur}}</nowiki></code> : Définit une variable contenant le texte "valeur" et dont le nom est "Titre".
*<code><nowiki>{{#varexists:Titre}}</nowiki></code> : Renvoie vrai si la variable portant le nom "Titre" a été définie dans la page, et faux dans le cas inverse.


{{CURRENTMONTHNAME}} : Retourne le nom du mois en cours
==Fonctions==
Ces fonctions sont imbriquables entre elles. La plupart de ces fonctions utilisent le caractère ''pipe'' {{citer|{{!}}}}, accessible avec la combinaison des touches {{citer|AltGr}} et {{citer|-}} (6) sur le pavé alphabétique.


{{CURRENTDAY}} : Retourne le numéro jour en cours
*<code><nowiki>{{#if: variable | Résultat si la variable est définie | Résultat si la variable est vide}}</nowiki></code> : Modifie le code à retourner selon si une variable est définie ou non. Une variable est indéfinie si elle est vide ou ne contient que des espaces.
**Le test servira souvent à déterminer si un paramètre de modèle a été défini ou non, soit le code suivant : <code><nowiki>{{{Param|}}}</nowiki></code>.
**Cette fonction teste uniquement la définition et pas un résultat mathématique.
*<code><nowiki>{{#ifeq: variable 1 | variable 2 | Résultat si les variables sont égales | Résultat si les variables ne sont pas égales }}</nowiki></code> : Cette fonction de comparaison fonctionne numériquement ''ou'' textuellement :
**''Si les deux variables contiennent uniquement des chiffres'', la comparaison est numérique. Ainsi : 2 = 2 et 01 = 1 ;
**''Si au moins une variable contient des caractères non numériques'', la comparaison est textuelle. Ainsi : Dés = Dés mais "01" ≠ "1". La comparaison est sensible à la casse : dés ≠ Dés.
*<code><nowiki>{{#expr: expression }}</nowiki></code> : Résout une expression mathématique (+, -, *, /, =, !=, <, >, <=, >=, …) et retourne son résultat, ou bien retourne une erreur si l'expression ne peut être résolue (par exemple, l'expression contient autre chose que des nombres).
*<code><nowiki>{{#ifexpr: expression | Résultat si l'expression est vraie | Résultat si l'expression est fausse}}</nowiki></code> : Vérifie le résultat d'un code #expr: et retourne le code adéquat.
*<code><nowiki>{{#switch: variable | Valeur 1 = Résultat si la variable et cette valeur sont égales | Valeur 2 = Idem | Valeur à utiliser si la variable ne correspond à aucune des valeurs listées}}</nowiki></code> : Compare une variable avec une liste de valeurs prédéfinies et retourne un résultat adéquat. Cet exemple n'utilise que deux résultats possibles, mais plus sont possibles. La dernière valeur contiendra généralement un message d'erreur indiquant que la variable a été mal définie.
*<code><nowiki>{{#iferror: expression | Résultat si l'expression renvoie une erreur | Résultat si l'expression renvoie un résultat correct}}</nowiki></code> : Permet de vérifier si une opération tombe en erreur, pour afficher un message d'erreur si besoin. Également utilisable en combinaison avec <nowiki>#expr:</nowiki> pour différencier un nombre d'une chaîne de caractères.
*Plusieurs opérations sont disponibles pour agir sur les chaînes de caractères, comme calculer leur longueur, chercher la présence d'un mot ou remplacer certains caractères. [https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/fr?tableofcontents=0#Extension_StringFunctions Voir la liste.]


{{CURRENTDAYNAME}} : Retourne le nom du jour en cours
===Cas particuliers===
Le ''pipe'' {{citer|{{!}}}} étant utilisé comme marqueur dans les fonctions du parseur, il ne sera pas interprété correctement lorsqu'on veut afficher ce caractère dans le résultat de la fonction, comme pour afficher un [[Aide:Tableaux|tableau]]. Pour résoudre ce problème, il faut remplacer les ''pipes'' qu'on souhaite afficher par le code {{citer|<nowiki>{{!}}</nowiki>}}. Seuls les ''pipes'' qui participent à construire le tableau sont concernés : si il y a une fonction du parseur imbriquée dans une autre fonction, il n'y a pas besoin de remplacer ses ''pipes''.


{{CURRENTTIMESTAMP}} : Affiche un numéro au format YYYYMMDDHHmmss
Le signe = utilisé dans certaines url (notamment celles des vidéos) peut ne pas être reconnu correctement. Il est nécessaire de remplacer ce symbole par son [https://en.wikipedia.org/wiki/Equals_sign#Encodings code HTML] pour qu'il soit reconnu correctement.


{{DISPLAYTITLE:titre}} : Les formes
{{Modèle:Aide}}
 
</nowiki>
 
==Fonctions==
<nowiki>
{{#Test:}}
</nowiki>

Version actuelle datée du 14 mars 2024 à 12:24

Comme pour un fichier PHP, les articles du Wiki acceptent des fonctions préétablies. Ces fonctions sont principalement utilisées dans des mises en forme spéciales ou la conception de modèles.

Les fonctions listées si-dessous sont celles d'usage le plus courant sur le WikiHalo, la liste complète est accessible par ce lien.

Switches[modifier]

  • __NOTOC__ : Masque le sommaire de l'article. Utilisable dans le cas d'un article court, mais avec plus de trois sections, où un sommaire n'est pas justifié.
  • __TOC__ : Force l'apparition du sommaire à la position du code.
  • __NOEDITSECTION__ : Masque le lien d'édition de la section contenant le code. Utilisable sur les pages de la Catégorie:Texte brut.

Variables[modifier]

Variables globales[modifier]

Ces variables sont utilisables partout sur le Wiki.

  • {{CURRENTYEAR}} : Retourne l'année en cours.
  • {{CURRENTMONTH}} : Retourne le numéro du mois en cours.
  • {{CURRENTMONTHNAME}} : Retourne le nom du mois en cours.
  • {{CURRENTDAY}} : Retourne le numéro du jour du mois en cours.
  • {{CURRENTDAYNAME}} : Retourne le nom du jour de la semaine en cours.
  • {{CURRENTTIMESTAMP}} : Affiche un numéro au format YYYYMMDDHHmmss.
  • {{DISPLAYTITLE:titre}} : Contourne certaines restrictions d'affichage du titre. Voir : Aide:Construction des pages#Titres.
  • {{FULLPAGENAME}} : Retourne le nom de la page, avec l'espace de nom (Aide:Fonctions du parseur).
  • {{PAGENAME}} : Retourne le nom de la page, sans l'espace de nom (Fonctions du parseur).
  • {{SUBPAGENAME}} : Dans les sous-pages, retourne uniquement le nom de la sous-page.

Variables locales[modifier]

Ces variables ne sont utilisables que sur la page où elle ont été définies.

  • {{#vardefineecho:Titre | valeur}} : Définit une variable contenant le texte "valeur" et dont le nom est "Titre".
  • {{#varexists:Titre}} : Renvoie vrai si la variable portant le nom "Titre" a été définie dans la page, et faux dans le cas inverse.

Fonctions[modifier]

Ces fonctions sont imbriquables entre elles. La plupart de ces fonctions utilisent le caractère pipe « | », accessible avec la combinaison des touches « AltGr » et « - » (6) sur le pavé alphabétique.

  • {{#if: variable | Résultat si la variable est définie | Résultat si la variable est vide}} : Modifie le code à retourner selon si une variable est définie ou non. Une variable est indéfinie si elle est vide ou ne contient que des espaces.
    • Le test servira souvent à déterminer si un paramètre de modèle a été défini ou non, soit le code suivant : {{{Param|}}}.
    • Cette fonction teste uniquement la définition et pas un résultat mathématique.
  • {{#ifeq: variable 1 | variable 2 | Résultat si les variables sont égales | Résultat si les variables ne sont pas égales }} : Cette fonction de comparaison fonctionne numériquement ou textuellement :
    • Si les deux variables contiennent uniquement des chiffres, la comparaison est numérique. Ainsi : 2 = 2 et 01 = 1 ;
    • Si au moins une variable contient des caractères non numériques, la comparaison est textuelle. Ainsi : Dés = Dés mais "01" ≠ "1". La comparaison est sensible à la casse : dés ≠ Dés.
  • {{#expr: expression }} : Résout une expression mathématique (+, -, *, /, =, !=, <, >, <=, >=, …) et retourne son résultat, ou bien retourne une erreur si l'expression ne peut être résolue (par exemple, l'expression contient autre chose que des nombres).
  • {{#ifexpr: expression | Résultat si l'expression est vraie | Résultat si l'expression est fausse}} : Vérifie le résultat d'un code #expr: et retourne le code adéquat.
  • {{#switch: variable | Valeur 1 = Résultat si la variable et cette valeur sont égales | Valeur 2 = Idem | Valeur à utiliser si la variable ne correspond à aucune des valeurs listées}} : Compare une variable avec une liste de valeurs prédéfinies et retourne un résultat adéquat. Cet exemple n'utilise que deux résultats possibles, mais plus sont possibles. La dernière valeur contiendra généralement un message d'erreur indiquant que la variable a été mal définie.
  • {{#iferror: expression | Résultat si l'expression renvoie une erreur | Résultat si l'expression renvoie un résultat correct}} : Permet de vérifier si une opération tombe en erreur, pour afficher un message d'erreur si besoin. Également utilisable en combinaison avec #expr: pour différencier un nombre d'une chaîne de caractères.
  • Plusieurs opérations sont disponibles pour agir sur les chaînes de caractères, comme calculer leur longueur, chercher la présence d'un mot ou remplacer certains caractères. Voir la liste.

Cas particuliers[modifier]

Le pipe « | » étant utilisé comme marqueur dans les fonctions du parseur, il ne sera pas interprété correctement lorsqu'on veut afficher ce caractère dans le résultat de la fonction, comme pour afficher un tableau. Pour résoudre ce problème, il faut remplacer les pipes qu'on souhaite afficher par le code « {{!}} ». Seuls les pipes qui participent à construire le tableau sont concernés : si il y a une fonction du parseur imbriquée dans une autre fonction, il n'y a pas besoin de remplacer ses pipes.

Le signe = utilisé dans certaines url (notamment celles des vidéos) peut ne pas être reconnu correctement. Il est nécessaire de remplacer ce symbole par son code HTML pour qu'il soit reconnu correctement.