Değiştirme edilmemiş şablon genişletme ifadesinde, {{{p|q}}} tanımlanmışsa şablonun içindeki {{{p}}}'ye ve diğer varsayılan bağımsız değişken q'ya genişletilir. Böylece, parametrenin her oluşumu için varsayılan olarak bağımsız olarak belirtilebilir.

Bu sonuçlar {{{p}}} ve q son sonuçlar olabilir, ancak bir parametre adı için bir ifadede de olabilirler (bir çift üçlü parantez içinde veya şablon çağrısında veya anahtarda), parametre değerinde (şablon veya ayrıştırıcı işlevinin çağrısında) veya şablonun, ayrıştırıcı işlevinin veya değişkenin adı.

Benzer şekilde, bir şablonun değiştirmek üzerinde, şablonun içindeki {{{p|q}}] ifadesi; p, bir parametre adıdır (veya aynı anda ikame edilen ve bir parametre adı ile sonuçlanan bir ifadedir) ve q herhangi bir vikimetin (borular ve üçlü parantezlerle ilgili kısıtlamalar ile) aşağıdaki gibi işlenir:

  • Eğer p belirlerse, {{{p|q}}} p değerinin vikimetin değerine (veya o vikimetin içinde eşzamanlı ikame varsa değiştirilen vikimetine) değiştirilir.
  • Eğer p belirsiz ise, {{{p|q}}} büyük olasılıkla q için wikitext içinde eşzamanlı değiştirmeleri q olarak değiştirilir.

Notlar

edit

Birden fazla boru durumunda, ikinci borudan herhangi bir şey göz ardı edilir: {{{a|b|c|d}}} {{{a|b}}} ile eşdeğerdir. Varsayılan bölüm, yalnızca şablonun, ayrıştırıcı işlevinin, parametrenin, bağın veya resim sözdiziminin bir parçası olarak, nowiki etiketleri içinde ve bir şablonun içeriği olarak "|" öğesini Şablon:! değeridir.

Parametre adının ifadesi, tam şablonun, ayrıştırıcı işlevinin veya içindeki parametre sözdiziminin bir parçası olarak "|" ile içerebilir.

Bazı durumlarda Template:3x containing "{{{1}}}{{{1}}}{{{1}}}<noinclude>{{documentation}}</noinclude>" kullanan örnekler
ve Template:t2 containing "Parameter 1 is "{{{1}}}", parameter 2 is "{{{2}}}"<noinclude>[[Category:Demo template]]</noinclude>":

  • {{{a|b|c|d}}}, b verir - sonraki ikinci boru yok sayılır
  • {{{a|{{3x|b}}}}}, bbb verir
  • {{{a|{{{b|c}}}}}}, c verir
  • {{{a|[[b|c]]}}}, c verir
  • {{{{{3x|a}}|b}}}, b verir - aaa parametresi tanımsız
  • {{{{{{a|b}}}|c}}}, c verir - b parametresi tanımsız
  • {{{a|<nowiki>b|c</nowiki>}}}, b|c verir - metin oluşturmak için iyi çalışır, ancak şablon çağrısında b ve c parametrelerini koymak için uygun değildir (nowiki etiketlerini kaldırmak için bir işlev yoktur):
    {{t2|{{{a|<nowiki>b|c</nowiki>}}}}}, Parameter 1 is "b|c", parameter 2 is "{{{2}}}" verir

Varsayılan olarak parametre içeren ifadeler

edit
Bu bölüm, ParserFunctions uzantısının bulunmadan önce yazılmıştır.
İşaretleme: Buradan vikimetin {{{a}}} [a] olarak yazılır.

f([b]) bir şablonda meydana gelen [a[b|c]|f([b])] ifadesini göz önünde bulundurun; burada f([b]) , [b] bir ifadeyi gösterir.

Koşullar:

  • [a[b]] geçerli tüm [b] için tanımlanmamıştır (şablonun çağrıldığı b parametresinin tüm değerleri)
  • [ac]=d (şablon ac=d ile çağrılır)

Ardından, [b] tanımlanmışsa ifade f([b]) değerini, aksi takdirde d değerini verir.

Koşulların, geçerli hiçbir [b] öğesinin c değerine sahip olmasını gerektirmediğini unutmayın. [b] içindeki tüm harf ve rakamları kullanmak ve null değerine (boş dize) izin vermek istiyorsa, c için örneğin; "@".

[b] boşsa, sonucun f("") değil, "" olması istenir veya en azından kabul edilebilirse, [b] tanımsız olduğunda da aynıdır, d="" alırız ve örneğin boş dize olarak c'yi de seçebiliriz. Ardından, şablonda [a[b|]|f([b])] ifadesi bulunur ve f([b]) [b] ve diğer durumlarda boş dize aşağıdaki koşullarda tanımlanır:

  • [a[b]] geçerli tüm [b] için tanımlanmamıştır (şablonun çağrıldığı b parametresinin tüm değerleri)
  • şablon "a=" ile çağrılır

Aynı şablon birkaç ifade içerebilir [ai [bi | c ] | fi ([bi ])]. Tüm ai eşitini seçerek, şablon çağrısında yalnızca bir "a=" gerekir. Sonra ifadeler [a [bi | c ] | fi ([bi ])].

Sabit bir fonksiyona sahip özel bir fi durumudur, yani [bi ] bağımlı değil. Sonra ifadeler [a [bi | c ] | fi ]. Şablon çağrısında sadece her bir bi için bir değer olsun ya da olmasın önemlidir. Kolaylık sağlamak için, hiç tanımlanmamışlara boş karakter dizisi atayabiliriz. Geçerli hiçbir [b] değerinin c değerine sahip olmaması gerektiğinden (yukarıya bakın), bu durumda c boş dize olmamalıdır. Boş d ile şablon, bir dizi görevi görür; burada bi dizini için değer fi olur. "ac=" ve "bi=" veya hatta "bi=" listesiyle çağrılır. Karşılık gelen dizi değerlerinin bir listesini verir. Template:Short DOW alt 2 sayfasına bakın.

Normalde bir şablon çağrısındaki bir parametre belirtimi, şablonun kullanıcısının sahip olduğu bir seçeneği temsil etse de, "ac=" belirtme ihtiyacı, şablonun kullanıcısına uygulanan talihsiz bir teknik gereksinimdir; şablon çağrısını başka bir şablonun içine koyarak kullanıcıdan korunabilir; sunucu zorunun endişe kaynağı olduğu projelerde bu istenmeyebilir.

"a" ismi, şablonun başka hiçbir parametresinin kendisiyle başlayan bir isme sahip olmayacağı şekilde seçilebilir, daha sonra ilk koşul yerine getirilir (daha önce tartışılan durum dışında [b] boş dize). İyi seçim "if" olur. Bu sayede

[if [bi | c ] | fi ([bi ])]

anlamı

if bi, then fi ([bi ]) belirler

c="" en kısa ve en iyi görünüme sahip if ifadesini verirken, ör. c="u" ("tanımsız" için) şablon çağrısındaki en kısa belirtilmenin bi ("bi=") değerin alakasız olduğu durumlarda. İkincisi, "boş" ve "tanımsız" ın genellikle eşdeğer kabul edildiği bağlamlarda kafa karıştırıcı olabilir.

Sonuç, f([b]) veya boş dize yalnızca son görüntüleme içindir, yani şablon adları, parametre adları, parametre değerleri, bağlantılardaki sayfa adları ifadelerinde kullanılmazsa, vb., alternatif olarak CSS kullanmaktır, MediaWiki talk:Common.css sayfasına bakın.

a="if" ve c=d="" ve ayrıca "if" yerine kısa sınıf adını kullanarak karşılaştırma için "HiddenStructure", iki satır şunlardır:

<span class=" if{{{b|}}} "> ... </span>
{{{           if{{{b|}}} |  ... }}}

İkinci yöntemde, şablondaki vikimetin her isteğe bağlı öğe için 15 karakter daha kısadır, ancak her çağrı 4 karakter ("if=|") daha uzundur.

Birinci yöntemde diğer sınıf isimleriyle çatışmalardan kaçınılmalıdır, ikinci yöntemde diğer parametre isimleriyle çakışmalıdır.

Tekrarlama

edit

Bir "for-loop" kullanılarak

Template:Fors, şunu içeriyor:


{{fors/aux
  |v@=
  |c={{{call}}}
  |pv={{{pv|1}}}
  |s={{{sep|}}}
  |pc1={{{pc1|=}}}
  |pc2={{{pc2|=}}}
  |pc3={{{pc3|=}}}
  |pc4={{{pc4|=}}}|
1={{{1|@}}}|2={{{2|@}}}|3={{{3|@}}}
}}

with Template:Fors/aux, şunu içeriyor:


{{{v{{{1}}}|{{{{{c}}}|{{{pc1}}}|{{{pc2}}}|{{{pc3}}}|{{{pc4}}}|{{{pv}}}={{{1}}}}}}}}
{{{v{{{2}}}|{{{s}}}{{{{{c}}}|{{{pc1}}}|{{{pc2}}}|{{{pc3}}}|{{{pc4}}}|{{{pv}}}={{{2}}}}}}}}
{{{v{{{3}}}|{{{s}}}{{{{{c}}}|{{{pc1}}}|{{{pc2}}}|{{{pc3}}}|{{{pc4}}}|{{{pv}}}={{{3}}}}}}}}

Kısaca, ikincisi bileşenlerden oluşur

[ v[i] | [s] {{[c]|[pc1]|[pc2]|[pc3]|[pc4]|[pv]=[i]}} ] (i = 1, 2, 3, i = 1 [s] olmadan)

veya ilk şablonun parametreleri açısından:

[v[i|@] | [sep|] {{[call]|[pc1|]|[pc2|]|[pc3|]|[pc4|]|[pv|1]=[i]}} ]

Bu aslında yukarıda belirtilen [a[b|c]|f([b])] formdur, a=v ile, b=i, c=@, ve

f(x) = [sep|] {{[call]|[pc1|]|[pc2|]|[pc3|]|[pc4|]|[pv|1]=x}}

Yukarıda belirtilen varsayımlar, n değerine eşit d için geçerlidir ve hiçbir [i] öğesinin "@" değerine eşit olmaması şartıyla uygulanır.

Varyasyonlar

edit

v@=null olduğundan, bitiştirmeyi dış işlem haline getirebiliriz: [v[i|@] | [sep|]] [v[i|@] | {{[call]|[pc1|]|[pc2|]|[pc3|]|[pc4|]|[pv|1]=[i]}} ]

Koşullu ifade

edit
Bu bölüm, ParserFunctions uzantısının var olmadan önce yazılmıştır.

Template:Ifold şunu içeriyor:


{{{else{{{test|}}}|{{{test{{{test|}}}|{{{then|}}}}}}}}}


veya kısa formda:

[ else[test|] | [ test[test|] | [then|] ] ]

[test] tanımlanmışsa, bu aşağıdakilere düşer:

[ else[test] | [ test[test] | [then|] ] ]

Null değerine eşit test için bu, [else|]; değerine düşer, aksi takdirde "test" veya "other" ile başlayan hiçbir parametre adı geçerli değilse bunlar hariç, bu [then|] düşer.

[test] tanımsızsa şunu alırız:

[ else | [then|] ]

Son fakat teknik

edit

Bazen son veya son fakat x parametre değerine ihtiyaç duyulabilir, ancak sağlanan parametre sayısı bilinmemektedir. Aşağıdaki, şablon kullanmadan son "atanan" parametre değerini elde etmek için kullanılan bir tekniktir:
[4|[3|[2|[1|*]]]].

Sonuncusu ancak biri şu şekilde elde edilebilir: ("ifu" boş olarak önceden atanır)

[[if[4|u]|3]|
 [[if[3|u]|2]|
  [[if[2|u]|1]|
   [[if[1|u]|0]|*] //bu satır aslında işe yaramaz, "*" ile değiştirilebilir.
  ]
 ]
]

ör., "4", "3", "2", "1" ile D4 değiştirme için, D3, D2, D1. Ve Dx=[if[x|u]|x-1]. Bunu gibi, "last but x" parametre değerini alabilirsiniz.
Template:Lastbut0 ve Template:Lastbut1 örnek kullanımı:

  • {{lastbut0}}, no input verir.
  • {{lastbut0|a}}, a verir.
  • {{lastbut0|a|b|c|d|e|f|g|h|i|j}}, j verir.
  • {{lastbut1|ifu=}}, no input verir.
  • {{lastbut1|ifu=|a}}, no input verir.
  • {{lastbut1|ifu=|a|b}}, a verir.
  • {{lastbut1|ifu=|a|b|c|d|e|f|g|h|i|j}}, i verir.
  • {{lastbut0|53=53|81=81|28=28}}, 81 verir (1 - 100 aralığındaki tamsayıların bir listesini bulur)

Ayrıca bakınız: Template:max (talk, backlinks, edit) containing:


{{lastbut0|{{{1}}}={{{1}}}|{{{2}}}={{{2}}}}}


Server efficiency

edit

Parametre varsayılan yapılarının, ekstra şablon katmanları kullanan benzer yapılara göre sunucu tarafından daha verimli bir şekilde yürütüldüğü söylenir.

Sürümler

edit

Bu sayfadaki bilgiler MediaWiki 1.6 ve sonraki sürümleri ile ilgilidir.

Tarihçe

edit

Parametre varsayılanları ayrıştırıcı işlevlerinden önce girildi ve bu nedenle dallanma için ustaca kullanıldı, yukarıya bakınız ve ör. Template:T opt par.

Ayrıca bakınız

edit
Help contents
Meta · Wikinews · Wikipedia · Wikiquote · Wiktionary · Commons: · Wikidata · MediaWiki · Wikibooks · Wikisource · MediaWiki: Manual · Google
Versions of this help page (for other languages see further)
What links here on Meta or from Meta · Wikipedia · MediaWiki
Reading
Go · Search · Namespace · Page naming · Section · Backlinks · Redirect · Category · Image page · Special pages · Printing
Tracking changes
Recent changes (enhanced) | Related changes · Watching pages · Diff · Page history · Edit summary · User contributions · Minor edit · Patrolled edit
Logging in and preferences
Logging in · Preferences
Editing
Starting a new page · Advanced editing · Editing FAQ · Export · Import · Shortcuts · Edit conflict · Page size
Referencing
Links · URL ·  · Footnotes
Style and formatting
Wikitext examples · CSS · Reference card · HTML in wikitext · Formula · Lists · Table · Sorting · Colors · Images and file uploads
Fixing mistakes
Show preview · Reverting edits
Advanced functioning
Expansion · Template · Advanced templates · Parser function · Magic words · System message · Substitution · Arrays · Expr parser function syntax · Transclusion
Others
Special characters · Renaming (moving) a page · Preparing a page for translation · Talk pages · Signatures · Sandbox · Legal issues for editors
Other languages: