Help:Parser functions in templates/nl

From mediawiki.org
This page is a translated version of the page Help:Parser functions in templates and the translation is 100% complete.
PD Let op: Als u deze pagina bewerkt, gaat u akkoord met het vrijgeven van uw bijdragen onder de CC0. Zie Helppagina’s Publiek Domein voor meer informatie. PD

Bij het toepassen van ParserFuncties op sjabloon parameters, kan een verticale streep ("|") worden gebruikt om een standaardwaarde mee te geven, dit wordt gebruikt als een parameter niet is gedefinieerd. Als het in een #if parser functie wordt gebruikt, wordt de niet expandeerde tekst van de ongedefinieerde parameter uiteindelijk 'true', dat kan een onverwacht resultaat zijn.

Parameters testen met en zonder standaardwaarden
Parameter {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}} {{#if:<parameter>|True|False}}
Beschrijving Voorbeeld, zonder en met naam {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}}
Ongedefinieerd. Meer geschikt voor gebruik bij parameters met een naam. {{template}} {{{1}}} True False
Gedefinieerd, maar leeg of null {{template|}}, {{template|1=}}, {{template|param=}} False False
Gedefinieerd, niet leeg en niet null {{template|value}}, {{template|1=value}}, {{template|param=value}} value value True True
  • {{{1}}}
Voorbeeld A
{{#if: {{{1}}} | Parameter 1 is ongedefinieerd of is gedefinieerd en niet null/leeg. | Parameter 1 is null. Het bevat alleen lege tekst(en) of spatie(s) enz.}}
Resultaat
Parameter 1 is ongedefinieerd of is gedefinieerd en niet null/leeg.
  • {{{1|}}}
Voorbeeld B
{{#if: {{{1|}}} | Parameter 1 is gedefinieerd en niet null/leeg. | Parameter 1 is ongedefinieerd of is gedefinieerd maar null. Het bevat alleen lege tekst(en) of spaties(s) enz.}}
Resultaat
Parameter 1 is ongedefinieerd of gedefinieerd maar null. Het bevat alleen lege tekst(en) of spatie(s) enz.

Het tweede gebruik ({{{1|}}}, voorbeeld B) met aanwezige lege standaardwaarde is vaak de gewenste manier om situaties af te handelen als er een parameter is, maar dat die alleen uit lege ruimte bestaat.

Testen en doorgeven ongedefinieerde parameters

Om het verschil te zien tussen een mogelijk lege parameter en een ongedefinieerde, vergelijk de parameter met zichzelf met {{#ifeq:}} en verschillende standaardwaarden. Wat de standaardwaarden zijn maakt niet uit, als ze maar verschillen, meestal wordt een korte waarde gekozen. Het volgende werkt allemaal gelijkwaardig:

{{#ifeq:{{{v|+}}}|{{{v|-}}}| v was gedefinieerd (en kan leeg zijn) | v was niet gedefinieerd }}
{{#ifeq:{{{v|}}}|{{{v|-}}}| v was gedefinieerd (en kan leeg zijn) | v was niet gedefinieerd }}
{{#ifeq:{{{v|}}}|{{{v}}}| v was gedefinieerd (en kan leeg zijn) | v was niet gedefinieerd }}

In bijzondere gevallen kan een sjabloon zich anders gedragen als een parameter ongedefinieerd is vergeleken met een parameter zonder waarde. Als dit sjabloon met een wrapper sjabloon wordt gebruikt (die gebruikt dezelfde set parameters met een naam), is een manier om te zorgen dat ongedefinieerde parameters ongedefinieerd blijven als volgt (voor genummerde parameters gaat het op dezelfde manier):

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

wrapped_template ontvangt een gedefinieerde normal_parameter in alle gevallen. Als die normal_parameter leeg is of ongedefinieerd, wrapped_template ontvangt een lege normal_parameter.

Daartegenover, als het wrapped_template een gedefinieerde sensitive_parameter ontvangt, alleen als het gedefinieerd is; als sensitive_parameter ongedefinieerd is, de #if wijzigt de parameternaam in sensitive_parameterNULL. De parameter met het achtervoegsel moet betekenisloos zijn voor het wrapped_template om dit goed te laten werken.

Zie ook