Aide:Fonctions d'analyse dans les modèles

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Help:Parser functions in templates and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎русский • ‎українська • ‎العربية • ‎日本語 • ‎한국어
PD Note : Si vous modifiez cette page, vous acceptez de placer votre contribution sous licence CC0. Plus d'informations sont disponibles sur les pages d'aide du projet domaine public.
PD

Lors de l'emploi d'une fonction d'analyse en tant que paramètre au sein d'un modèle, un symbole tube («|») peut être utilisé pour fournir une valeur par défaut ; cette dernière étant reprise lorsque le paramètre en question n'est pas défini (vide). Utilisée dans une fonction #if, le texte venant du paramètre non défini va évaluer l'égalité, qui peut être un résultat inconnu.

Essais de paramètres avec et sans valeurs par défaut
Paramètre {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}} {{#if:<paramètre>|True|False}}
Description Exemple, nommé et non nommé {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}}
Non défini. Plus approprié pour l'usage en paramètres. {{template}} {{{1}}} True False
Défini, mais vide ou nul. {{template|}}, {{template|1=}}, {{template|param=}} False False
Défini, rempli et non nul. {{template|value}}, {{template|1=value}}, {{template|param=value}} value value True True
  • {{{1}}}
Exemple A
{{#if: {{{1}}} | Le Paramètre 1 n'est pas défini, ou il est défini avec une valeur non-vide. | Le Paramètre 1 est vide. Il contient seulement des lignes vides ou des espaces, etc.}}
Résultat
Le Paramètre 1 il n'est pas défini, ou il est défini avec une valeur non-vide.
  • {{{1|}}}
Exemple B
{{#if: {{{1|}}} | Le Paramètre 1 est défini avec une valeur non-vide. | Le Paramètre 1 n'est pas défini, ou il est défini avec une valeur nulle : il contient seulement des lignes vides, des espaces, etc.}}
Résultat
Le Paramètre 1 n'est pas défini, ou il est défini avec une valeur nulle : il contient seulement des lignes vides, des espaces, etc.

Le deuxième usage ({{{1|}}}, exemple B) avec valeur par défaut présente vide est souvent la bonne manière pour gérer les situations ou un paramètre existe, mais est composé uniquement d'espace vide.

Tester et passer des paramètres non définis

Pour distinguer un paramètre probablement vide d'un paramètre non spécifié, premièrement, comparez-le avec lui-même en utilisant {{#ifeq:}} et différents défauts Les valeurs par défaut ne sont pas importantes tant qu'elles sont différentes, donc elles sont en général choisies de manière à être courtes. Les exemples suivants marchent tous :

{{#ifeq:{{{v|+}}}|{{{v|-}}}| V à été défini (et peut être vide) | V n'a pas été défini }}
{{#ifeq:{{{v|}}}|{{{v|-}}}| V a été défini (et peut être vide) | V n'a pas été défini }}
{{#ifeq:{{{v|}}}|{{{v}}}| v à été défini (et peut être vide) | v n'a pas été défini }}

Dans de rares cas, un modèle se comporte différemment lorsqu'un paramètre est non défini et lorsqu'il est défini à une valeur vide. Lorsqu'un modèle est utilisé par un modèle wrapper (qui utilise le même ensemble de paramètres nommés), une manière de s'assurer que les paramètres non définis restent non définis est de procéder de la manière suivante (cette technique fonctionne également avec les paramètres numérotés) :

{{wrapped_template|
normal_parameter={{{normal_parameter|}}}|
sensitive_parameter{{#if:{{{sensitive_parameter|}}}||NULL}}={{{sensitive_parameter}}}
}}

modèle_wrapper prend pour paramètre un "paramètre_normal" défini dans tous les cas. Lorsque "paramètre_normal" est défini à une valeur vide ainsi que lorsqu'il est indéfini, modèle_wrapper reçoit un "paramètre_normal" vide.

En revanche, le modèle_wrapper reçoit un "paramètre_sensible" défini uniquement lorsqu'il est vraiment défini ; lorque "paramètre_sensible" est non défini, le #if change le nom du paramètre à "paramètre_sensibleNULL". Le nom du paramètre suffixé doit être non reconnu par le modèle_wrapper pour que cela fonctionne correctement.

Voir aussi