Help:Şablonlarda ayrıştırıcı işlevler
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. |
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.
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.