Aide:Fonctions d'analyse dans les modèles
Note : si vous modifiez cette page, vous acceptez de placer votre contribution sous licence CC0. Plus d’informations sont disponibles sur le projet Aide dans le domaine public. |
Lors de l'emploi d'une fonction d'analyse en tant que paramètre au sein d'un modèle, une barre verticale («|») peut être utilisée 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.
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 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.