Help:Şablonlarda ayrıştırıcı işlevler

This page is a translated version of the page Help:Parser functions in templates and the translation is 100% complete.
PD Not: Bu sayfayı düzenlerken katkınızı CC0 altında yayınlamayı kabul edersiniz. Daha fazla bilgi için Kamu Malı Yardım Sayfalarına bakın. PD

ParserFunctionsşablon parametrelerine uygularken, bir parametre tanımlanmadığında kullanılan varsayılan bir değer sağlamak için bir dikey çizgi sembolü ("|") kullanılabilir. Bir #if ayrıştırıcı işlevinde kullanıldığında, undefined parametresinden gelen genişletilmemiş metin, beklenmeyen bir sonuç olabilecek şekilde true olarak değerlendirilir.

Varsayılan değerleri olan ve olmayan parametreleri test etme
Parametre {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}} {{#if:<parametre>|True|False}}
Açıklama Örnek, adsız ve adlandırılmış {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}}
Tanımsız. Adlandırılmış parametrelerde kullanım için daha uygundur. {{template}} {{{1}}} True False
Tanımlanmış, ancak boş. {{template|}}, {{template|1=}}, {{template|param=}} False False
Tanımlanmış, boş olmayan. {{template|value}}, {{template|1=value}}, {{template|param=value}} value value True True
  • {{{1}}}
Örnek A
{{#if: {{{1}}} | Parametre 1 tanımlı değil ya da tanımlı ve boş değil. | Parametre 1 boş. Yalnızca boşluk karakterleri veya boş dizgeler vb. içeriyor.}}
Sonuç
Parametre 1 tanımlı değil ya da tanımlı ve boş değil.
  • {{{1|}}}
Örnek B
{{#if: {{{1|}}} | Parametre 1 tanımlı ve boş değil. | Parametre 1 tanımlanmamış veya tanımlanmış ama boş. Yalnızca boşluk karakterleri veya boş dizgeler vb. içeriyor.}}
Sonuç
Parametre 1 tanımlanmamış veya tanımlanmış ama boş. Yalnızca boşluk karakterleri veya boş dizgeler vb. içeriyor.

Mevcut boş varsayılana sahip ikinci kullanım ({{{1|}}}, örnek B) genellikle bir parametrenin mevcut olduğu ancak yalnızca boşluktan aşağıdakilerden oluştuğu durumları ele almak için istenen yoldur.

Tanımsız parametreleri test etme ve geçme

Muhtemelen boş bir parametreyi belirtilmemiş olandan ayırt etmek için, {{#ifeq:}} ve farklı varsayılanlar kullanarak onu kendisiyle karşılaştırın. Varsayılanların ne olduğu, farklı oldukları sürece önemli değildir, bu nedenle genellikle kısa olacak şekilde seçilirler. Aşağıdakilerin tümü eşit olarak çalışır:

{{#ifeq:{{{v|+}}}|{{{v|-}}}| v tanımlandı (ve boş olabilir) | v tanımlanmadı }}
{{#ifeq:{{{v|}}}|{{{v|-}}}| v tanımlandı (ve boş olabilir) | v tanımlanmadı }}
{{#ifeq:{{{v|}}}|{{{v}}}| v tanımlandı (ve boş olabilir) | v tanımlanmadı }}

Nadir durumlarda, bir şablon, bir parametre belirtilmediğinde, belirtilmiş ancak boş olduğu zamana kıyasla farklı davranır. Bu şablon (aynı adlandırılmış parametreler kümesini kullanan) bir sarmalayıcı şablon tarafından kullanıldığında, tanımsız parametrelerin tanımsız kalmasını sağlamanın bir yolu aşağıdaki gibidir (teknik ayrıca numaralandırılmış parametrelerle de çalışır):

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

wrapped_template, her durumda tanımlı bir normal_parameter alır. normal_parameter tanımlandığında ancak boş olduğunda ve tanımsız olduğunda, wrapped_template boş bir normal_parameter alır.

Buna karşılık, wrapped_template, gerçekten tanımlandığında tanımlanmış bir sensitive_parameter alır; sensitive_parameter tanımsız olduğunda, #if parametre adını sensitive_parameterNULL olarak değiştirir. Bunun düzgün çalışması için, son eklenen parametre adı wrapped_template için anlamsız olmalıdır.

Ayrıca bakınız