Help:Şablonlar

This page is a translated version of the page Help:Templates and the translation is 83% complete.
Outdated translations are marked like this.
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

Birkaç sayfaya eklemek istediğiniz standart metinleriniz varsa, MediaWiki şablon özelliği devreye girer. Uzantılardan ve medya dosyalarından farklı olarak, şablonlar için merkezi bir depo yoktur. Şablonlar yeni yazılabilir veya daha önce yapılmış, başka bir vikiden dışa aktarılan çoğaltma çalışmasını kaydetmek için; Wikipedia ve ardından hedef vikiye aktarılır.

Oluşturma

Şablonlar, içeriği diğer sayfaların içinde yansıtma (gömülü) olacak şekilde tasarlanmış standart viki sayfalarıdır. Şablonlar, adı "Şablon:" ile ön ekli olduğu bir kuralı izleyerek ad alanı; bunun dışında başka bir viki sayfası gibi onları oluşturabilirsin.

Şablonların en basit kullanımı aşağıdaki gibidir. İçeriği olan "Şablon:Hoş geldiniz" adlı bir sayfa oluşturursanız:

Merhaba! Vikiye hoş geldiniz.

ilk şablonunuzu oluşturdunuz! Daha sonra kodu girerseniz:

{{Hoş geldin}}

Başka bir sayfada, o sayfa görüntülendiğinde "Merhaba! Vikiye hoş geldiniz." {{Hoş geldin}} şablon içeriği diğer sayfaya "yansıtır", yani sayfaya entegre edilir.

Ardından, birisini kabul etmek istediğiniz herhangi bir sayfanın herhangi bir yerine {{Hoş geldin}} adresini ekleyebilirsiniz. 100 sayfada kullanıldığını varsayalım. Şablon içeriğini daha sonra değiştirirseniz:

Merhaba! Bu güzel vikiye hoş geldiniz.

ve şablonun kullanıldığı 100 sayfadan herhangi birini tekrar ziyaret ederseniz, orijinal metin yerine yeni metni görürsünüz. Bu şekilde, 100 sayfanın içeriğini düzenlemeden değiştirdiniz, çünkü şablon bu sayfalara yansıtmıştır.

Bu temel mekanizmadır. Bu mekanizmayı zenginleştiren ve şablonları çok kullanışlı kılan birkaç ek yansıtma özelliği vardır.

Kullanım

Şablonlar diğer sayfalarda şu şekillerde kullanılabilir:

  • {{Adı}} — yukarıda açıklandığı gibi, bu bağlantı, şablon bağlantısı olan sayfanın yüklü olduğu zaman, [[Şablon:Adı]]'nı geçerli içeriği ile dinamik olarak değiştirilecektir. Bağlantı, sayfanın kaynağında değişmeden kalacaktır.

Because the template call remains in the pages's source, any subsequent change to Template:Name will be seen on the page containing the template call. Also, the page will be listed among those that "link to" the template.

  • {{subst:Adı}} — bu şablon bağlantısı kullanıldığında, bağlantıya sahip sayfanın kaydedildi tarihinden itibaren bir kez ve herkes için [[Şablon:Adı]] içeriğiyle değiştirilecektir: [[Şablon:Adı]]'nın içeriğinin bir kopyası, şablon bağlantısı için değiştirilmiş olacaktır. İçerik daha sonra dahil edilen sayfanın bir parçasıdır ve orijinalden ayrı olarak normal şekilde düzenlenebilir. Not: kaynak şablon sayfasındaki daha sonra yapılacak değişiklikler, şablon bağlantısının bulunduğu sayfaya yayılmaz.

That is, a copy of the contents of Template:Name will be substituted for the template call. No link is maintained between the page and the template, so each can be edited further without affecting the other. In effect, there is little difference between substituting the content in this way and simply typing it into the page's source "manually".

See Yardım:İkame for more information.

  • {{msgnw:Adı}} şablonu, onu içeren sayfa getirildiğinde ham viki sözdizimi (‎<nowiki> gibi) olarak görüntüleyen bir forma ekler.

Aslında, sıradan bir viki sayfası, yalnızca içinde bulunduğu ad alanını belirterek, şablon olarak da kullanılabilir, bu nedenle:

  • {{Şablon:Sayfaadı}}, [[Şablon:Sayfaadı]] dahil eder
  • {{Tartışma:Sayfaadı}}, [[TartışmaSayfaadı]] dahil eder
  • {{:Sayfaadı}}, [[Sayfaadı]] dahil eder
    • {{subst::Sayfaadı}} kendisini [[Sayfaadı]] içeriğiyle değiştirir

Böyle bir ad alanı yoksa, tam başlığın bir şablon olduğu varsayılır:

  • {{Foo:Bar}}, [[Şablon:Foo:Bar]] dahil eder

Parametreler

Kopyalama mekanizmasını zenginleştirmek için MediaWiki, parametrelerin kalıp geçirildiğinde bir şablona geçirilmesine izin verir. Parametreler, şablonun farklı içerikler üretmesine veya farklı davranışlara sahip olmasına izin verir.

Diyelim ki diğer kullanıcıların tartışma sayfasına küçük bir teşekkür notu eklemek istediğinizi varsayalım:


Küçük bir teşekkür... bütün çabalarınız için. sarılır, Ben


Teşekkür notu bir neden (bu durumda, "bütün çabalarınız") ve bir imza ("Ben") olacaktır. Amacınız, herhangi bir kullanıcının herhangi bir nedenle başka bir kullanıcıya teşekkür edebilmesidir.

Notun kullanıldığı her yerde benzer görünmesi için, örneğin Template:Teşekkürler adlı bir şablon tanımlayabilirsiniz. Not, bir kullanıcı başka bir kullanıcıya teşekkür ettiğinde benzer görünmekle birlikte, içeriği (yani nedeni ve imzası) farklı olacaktır. Bu nedenle, bunları parametre olarak iletmelisiniz. Kutuyu biçimlendirmek ve görüntüyü yerleştirmek için kalan öğeleri yoksayarsak, şablonun temel içeriği şu olur:

'''Küçük bir teşekkür...'''
{{{1}}} için.
sarılır, {{{2}}}

{{{1}}} ve {{{2}}} kullanıldığına dikkat edin. Şablonlar içinde, şablon kullanıldığında geçirilecek parametreleri tanımlamanın yolu budur. Şablon içinde, her parametrenin üç parantez içine alındığına dikkat edin: {{{ }}}. Bu normal şablon adı kullanımından farklıdır.

Bir sayfada şablonu kullanırken, bir "dikey çizgi" karakteri (|) ile ayrılmış parametre değerlerini doldurursunuz. MediaWiki, parametrelerin şablona üç şekilde iletilmesine izin verir: Anonim, Numaralı ve Adlandırılmış.

Anonim parametreler

Anonim parametreleri iletmek için, bu parametrelerin değerlerini sırayla listeleyin:

{{Teşekkür|bütün çabalarınız|Ben}}

Bu durumda, {{Teşekkür}} şablonu parametreleri {{{1}}}=bütün çabalarınız ve {{{2}}}=Ben alır, şunu üreten:


Küçük bir teşekkür... bütün çabalarınız için. sarılır, Ben


Anonim parametrelerin aktarılma sırası davranışı için çok önemlidir. Parametrelerin sırasını tersine çevirmek, şöyle:

{{Teşekkür|Ben|bütün çabalarınız}}

bu sonucu üretir:


Küçük bir teşekkür... Ben için. sarılır, bütün çabalarınız


Parametreleri sıraya göre tanımlama ({{{1}}} vb. ile) anonim parametrelerle yalnızca çalışır Aşağıda gösterildiği gibi, adla tanımlanan parametrelere sıra sayıları kullanılarak şablon tarafından erişilemez.
Anonim bir şablon parametresinin bağımsız değişkeninin içinde eşittir işareti görünürse, bu parametre eşittir işaretinden önceki metni parametre adı olarak ele alarak adlandırılmış parametre olarak yanlış yorumlanabilir ve bağımsız değişken değeri olarak sonraki metni. Harici bir bağlantı veya niteliklere sahip bir HTML öğesi eklemeniz gerektiğinde bu yaygın bir sorundur (görev T16235 sayfasına bakın). Çözüm, bunun yerine adlandırılmış parametreleri, hatta aşağıdaki bölümde açıklandığı gibi numaralandırılmış parametreleri kullanmaktır.

Numaralı parametreler

Parametreleri sayıya göre geçirmek için, her parametreyi geçerken tanımlayın:

{{Teşekkür|2=Ben|1=senin arkadaşlığın}}

Bu sefer, {{Teşekkür}} şablonu {{{1}}}=senin arkadaşlığın ve {{{2}}}=Ben parametreleri alır, ancak ters sırada sağlandıklarından ve ürettiklerinden:


Küçük bir teşekkür... senin arkadaşlığın için. sarılır, Ben


Bu numaralandırılmış parametrelerden herhangi biri "=" işareti içerdiğinde de yararlı olabilir.
Örnekler
{{Thankyou|1=“=” eklediği|2=Ben}}

üretir


Küçük bir teşekkür... “=” eklediği için. sarılır, Ben

  Uyarı: Bu, birbirlerinin parametrelerini numaralandırmayı da gerektirir.

Adlandırılan parametreler

Parametreleri iletmenin üçüncü yolu sayılar yerine ada göre yapılır. Bu durumda, şablon içeriği şu şekilde değiştirilir:

'''Küçük bir teşekkür...'''
{{{sebep}}} için.
sarılır, {{{imza}}}

Şablon içinde, her parametreyi bir sayı yerine tanımlamak için {{{sebep}}} ve {{{imza}}} kullanırız. Bu parametreleri ada göre geçirmek için, geçerken her parametreyi tanımlayın:

{{Teşekkür|imza=Ben|sebep=olduğun kişi olmak}}

Bu durumda, {{Teşekkür}} şablonu {{{sebep}}}=olduğun kişi olmak parametreleri alır ve {{{imza}}}=Ben şunu üretir:


Küçük bir teşekkür... olduğun kişi olmak için. sarılır, Ben


Adlandırılmış parametreler büyük/küçük harfe duyarlıdır, bu nedenle:

{{Teşekkür|imza=Ben|Sebep=olduğun kişi olmak|reason=büyük/küçük harfe duyarlı olma}}

şunu üretir:


Küçük bir teşekkür... büyük/küçük harfe duyarlı olma için. sarılır, Ben


Şablonunuzda adlandırılmış parametreleri kullanmanın avantajı, sıra parametrelerinde geçirilebilen esnekliğin yanı sıra, çok sayıda parametre olup olmadığını anlamak için şablon kodunu daha kolay hale getirmesidir.

Varsayılan değerler

Parametreleri bekleyen ancak bağımsız değişkenlerini bu şekilde sağlamayan bir şablonu aşarsanız:

{{Teşekkür}}

yukarıdaki numaralandırılmış parametreler örneğinde aşağıdakileri elde edersiniz:


Küçük bir teşekkür... {{{1}}} için. sarılır, {{{2}}}


Hiçbir argüman iletilmediğinden, şablon parametreleri kendi değerleri yerine kendileri sunar. Bu durumlarda, parametreler için varsayılan değerlerin, yani herhangi bir değer geçirilmezse kullanılacak değerlerin tanımlanması yararlı olabilir. Örneğin, şablon içeriği şu şekilde değiştirilirse:

'''Küçük bir teşekkür...'''
{{{sebep|her şey}}} için.
sarılır, {{{imza|Ben}}}

sonra {{{sebep|her şey}}}, {{{sebep}}} parametresi için bağımsız değişken sağlanmadıysa, her şey değeri kullanılır. Benzer şekilde {{{imza|Ben}}}, Ben değerini varsayılan {{{imza}}} parametresiyle değiştirir. Şimdi, herhangi bir argüman iletmeden şablonu tekrar transkript etmek aşağıdakileri sağlar:


Küçük bir teşekkür... her şey için. sarılır, Ben


Bir parametrenin değeri boş bir dize olabilir. Örneğin, {{foo|bar=}} veya {{foo|bar=|baz=qux}} içinde foo şablonu bar parametresini "" olarak kabul eder. Bu, parametreyi tamamen atlamaktan farklıdır, bu da onu tanımsız bırakır ve yukarıda açıklanan varsayılan değer mekanizmasını tetikler.
If you need to treat an empty string the same way as a missing parameter, you can use a conditional operator through an extension like ParserFunctions. For instance, {{#if:{{{1|}}}|{{{1|}}}|undefined}} returns undefined if the parameter is either undefined or empty, while {{{1|undefined}}} does so only if the parameter is undefined.

Alternatif parametre adlarını belirtmek için genellikle varsayılan değerler kullanılır. Örneğin, {{{a|{{{b|}}} }}} varsa, şablon önce "a" adlı bir parametre arar. Eğer ayarlanmazsa, "b" adlı parametreyi kullanacaktır. Ne "a" ne de "b" ayarlanmazsa, hiçbir şey çıkmaz.

Değerlendirme

Bu, ihtiyacınız olmadıkça atlayabileceğiniz gelişmiş bir konudur.

Genel olarak konuşursak, şablon parametreleri belirteçleştirmeden sonra şablona değiştirilir, ancak olduğu gibi. Kullanılıncaya kadar değerlendirilmezler.

Bunun birkaç sonucu var. Her şeyden önce, {{mytemplate içeren Template:Start şablonunuz ve |foo=bar}} içeren Template:End şablonunuz varsa ve bir sayfaya {{start}}{{end}} koyarsanız, mytemplate dahil edilmez, çünkü "|" gibi anahtarlar bir şablon tarafından eklenemez ve özel anlamlarını şablonlarda tutamaz. Bir parametrenin veya şablonun adını kontrol etmek için şablonları kullanmaya devam edebilirsiniz, ancak bir şablon çağrısını birden çok şablon arasında bölemezsiniz.

Bunun ikinci sonucu, ölü kodun ortadan kaldırılmasıdır. {{foo|{{DISPLAYTITLE:Bar}} }} gibi bir şablon çağrısı yaparsanız ve Template:Foo {{{1}}} içermiyorsa, yalnızca gerektiğinde değerlendirildiğinden ve değiştirilecek bir parametre olmadığından, ekran başlığı kullanılmaz, dolayısıyla asla değerlendirilmez. Bu genellikle Extension:ParserFunctions kullanılırken ortaya çıkar ve özellikle kullanıcı diline göre değişen int: sihirli kelimesi ile birlikte kullanıldığında fark edilebilir.

subst: veya safesubst: sihirli kelimesiyle başlayan şablon çağrıları, yalnızca tasarruf zamanında gerçekleşen ayrı bir ilk geçişte, ~~~~ ve boru hilesi kullanan bağlantılarla birlikte değerlendirilir. İlk geçiş sırasında değerlendirilemezlerse, subst: çağrıları yoksayılır ve safesubst: normal bir şablon gibi değerlendirilir.

Ayrıştırıcı işlevlerinin, ayrıştırıcı etiketlerinin ve aktarılan özel sayfaların çoğu, ancak tümü değil, şablonlar gibi doğrudan dahil edilmez, bunun yerine bir "şerit işaretçisi" ile değiştirilir. Bu, ayrıştırıcı işlevinin sonucu yerine şerit işaretçisini gördükleri için, uzantılardan padleft: veya benzer işlevler gibi ayrıştırıcı işlevlerle sonuçları değiştiremeyeceğiniz anlamına gelir.

Şablonlarda özyineleme

Kendi başına bir şablon eklemek MediaWiki'yi sonsuz özyinelemeye atmaz. MediaWiki şablonun adı kalın yazıyla özyinelemeyi durduracaktır. Örneğin, Template:Aaaa'nın içeriği a {{Aaaa}} z ise, "a a Template loop detected: Template:Aaaa z z" görüntülenir.

Yasak deyim

Bu koruma, bir şablonun kendi çağrı bağımsız değişkeni kendi kendine normalleştirdiği potansiyel olarak yararlı bir şablon deyimini engeller. Bu yasak örnekte template:d, {{d|20200311}} veya {{d|y=2020|m=3|d=11}} olarak adlandırılabilir. İlk şekilde çağrılırsa, daha sonra birleşik bir işlem yolunu izleyen ikinci bağımsız değişken yapısıyla (dize ayrıştırıcı işlevleri kullanılarak elde edilir) kendi içine döner.

{{#if:{{{1|}}}|{{d|y={{#sub:{{{1}}}|0|4}}|m={{#sub:{{{1}}}|4|2}}|d={{#sub:{{{1}}}|6|2}}}}|<!-- processing path with arguments y,m,d regardless of original call pattern -->}}

template:d, template:d/2 olarak tekrarlanacak şekilde değiştirilirse ve template:d/2, template:d özdeş el kopyası ise, bu deyim, kendi kendine özyineleme koruması statik olarak değil dinamik olarak çalıştığı için iyi çalışır.

MediaWiki yazılımının kendi kendini özyineleme kuralını gevşetmesi için uygun bir yol, her özyinelemeli çağrının, en fazla bir kez bağımsız değişken sayısı azalmayan yinelenen, önceki tüm etkin çağrılardan ayrı bir bağımsız değişken sayısına sahip olmasını istemek olacaktır. Bu, burada açıklanan gibi yararlı deyimleri esnek bir şekilde etkinleştirirken, sonsuz özyinelemeye karşı güçlü bir garanti sağlayacaktır.

İşleme yolunun karmaşıklığı düşükse, yalnızca bir şablon kullanan basit bir çözüm, her bir çağrı kuralını ayrı bir if/else dalında ele almak ve her durumda işleme yolunun mantığını çoğaltmaktır. İşleme yolu daha karmaşıksa, her bir çağrı yapısı durumu, nihai şablon davranışını sağlayan birleşik bir çağrı yapısına sahip bir uygulama şablonuna yetki verebilir.

Parametrelerdeki tablolar

Since the pipe character (|) and equality sign (=) have different meanings in template calls and wikitables, in order to use table markup in the value of a template parameter one generally needs to "escape" those characters (i.e., protect them from interpretation as template markup) using special sequences:

  • the built-in magic word {{!}} provides an "escaped" version of | since MediaWiki 1.24
  • the built-in magic word {{=}} provides an "escaped" version of = since MediaWiki 1.39

Before the introduction of these magic words, many wikis used templates to accomplish the same things. On such a wiki, the magic words take precendence over the same-named templates.

Example table

A B C
A1 B1 C1
A2 B2 C1

Table code:

{| class=wikitable
!A!!B!!C
|-
|A1||B1||C1
|-
|A2||B2||C1
|}

Escaped table code:

{{{!}} class{{=}}wikitable
!A!!B!!C
{{!}}-
{{!}}A1{{!}}{{!}}B1{{!}}{{!}}C1
{{!}}-
{{!}}A2{{!}}{{!}}B2{{!}}{{!}}C2
{{!}}}

Note that the first left-brace ({) is interpreted as a literal left-brace character because it is immediately followed by the {{!}} magic word. Similarly, the last right-brace (}) is interpreted as a literal right-brace character because it is immediately preceeded by the same magic word. However, in some cases these brace characters do cause problems, so some wikis provide templates for escaping these characters, as well:

  • the template call {{(}} might provide an "escaped" version of {
  • the template call {{)}} might provide an "escaped" version of }

Some wikis go even further and provide other convenience templates like {{(!}}, {{!)}}, {{!!}}. On such a wiki, the code can be simplified a bit to this form:

{{(!}} class{{=}}wikitable
!A!!B!!C
{{!}}-
{{!}}A1{{!!}}B1{{!!}}C1
{{!}}-
{{!}}A2{{!!}}B2{{!!}}C2
{{!)}}

Kontrol şablonu dahil etme

Varsayılan olarak, hem doğrudan görüntülendiğinde hem de başka bir sayfaya dahil edildiğinde bir şablonun içeriği bütünüyle görüntülenir. Ancak, ‎<noinclude>, ‎<includeonly> ve ‎<onlyinclude> etiketlerini kullanarak bir şablonun hangi bölümlerinin görüneceğini ve içerileceğini kontrol edebilirsiniz.

‎<noinclude> ile ‎</noinclude> arasındaki herhangi bir şey yalnızca şablonun sayfası doğrudan görüntülendiğinde görülür, ancak başka bir sayfaya eklendiğinde görülmez. Bu, şablonu içeren herhangi bir sayfaya yaymak istemediğiniz bir şablona metin veya kod eklemek istediğinizde yararlıdır:

  • Kategori, şablonun kendisini kategorilere ayırırken bağlanır
  • Diller arası bağlantılar diğer dillerde benzer şablonlara
  • Şablonun nasıl kullanılacağı hakkında açıklayıcı metin

Benzer şekilde, ‎<includeonly> ile ‎</includeonly> arasındaki herhangi bir şey işlenir ve yalnızca sayfa eklenirken görüntülenir, ancak şablon sayfası doğrudan görüntülendiğinde gösterilmez ve aşağıdaki gibi durumlarda yararlıdır:

  • Kategorize şablonu içeren sayfalar. Not: bir şablon tarafından bu şekilde uygulanan kategoriler değiştirilirken, bu şablonu içeren sayfaların kategorisi bir süre sonraya kadar güncellenmeyebilir: bu, iş sırası tarafından işlenir. Belirli bir sayfanın yeniden kategorize edilmesini zorlamak için, o sayfayı düzenlemek üzere açın ve değişiklik yapmadan kaydedin.
  • Şablon sayfasını görüntülerken şablon kodunun yürütülmemesini sağlamaktır. Genellikle bunun nedeni parametreleri beklemesidir ve parametresiz yürütülmesinin istenmeyen bir sonucu vardır.

‎<noinclude> ve ‎<includeonly> dışındaki her şey normal şekilde işlenir ve görüntülenir; yani hem şablon sayfası doğrudan görüntülendiğinde hem de şablon başka bir sayfaya dahil edildiğinde. Odak bu iki etiketin içinde var.

‎<onlyinclude> etiketlerinin dışındaki her şey ekleme işleminde atılır. Dahil olarak etiketlenmiş bölümler bile yalnızca içerme olarak etiketlenmedikleri sürece ekleme işleminde atılır. Odak bu etiketin dışında olan şeydir.

Bu etiketlerin iç içe yerleştirilmesi de mümkündür.

Üç kısmi ekleme etiketi, işlenen ve oluşturulan öğelerin tüm olası kombinasyonlarını etkinleştirir. Yorumlar da bir rolü doldurur.

Şablonları düzenleme

Şablonların etkili olabilmesi için kullanıcıların bunları bulmaları ve nasıl kullanacaklarını öğrenmeleri gerekir.

Bunları bulmak için kullanıcılar şunları yapabilir:

  1. Özel sayfalar > Tüm sayfalar tıklayın
  2. Ad alanı: listesinde, Şablon seçin ve Git tıklayın.

Kullanım bilgileri vermek için şablon sayfasına bunun gibi bir örnek ekleyin:

<noinclude>
== Kullanım ==
Karşılama kullanıcıları:
{{Teşekkür|sebep=senin sebebin|imzan=senin imzan}}
</noinclude>

Ardından, bir düzenleyici şablonu kullanmak için örneği kopyalayıp yapıştırabilir.

While editing a page, a list of all templates used is available under the editing form, in a collapsible section titled "Bu sayfada kullanılan şablonlar:" (also named "Bu önizlemede kullanılan şablonlar:", or "Bu bölümde kullanılan şablonlar:" depending on the context). This list provides a convenient link to the template's page, as well as information about its protection status. Redirected templates are shown in italics, with the redirect target added as a separate list item.

Bir şablona bağlantı verme

Bir şablon sayfası diğer viki sayfalarına benzer şekilde bağlanabilir. Örneğin, Template:Navbar bağlantısı vikikod [[Template:Navbar]] kullanılarak oluşturulur.

Birçok vikide, Template:Tl, şablonu gerçekten transkripsiyon yapmadan transkript etmek için gerekli olan "çift kıvırcık kaşlı ayraçlar" vikikodunu gösterecek şekilde biçimlendirilmiş bir şablona bağlantı sağlamak için kullanılabilir. Örneğin, {{tl|Navbar}} bağlantısını oluşturmak için {{Navbar}} kodu kullanılabilir.

Bu yapı, şablon belgelerinde, yardım sayfalarında ve şablonlara atıfta bulunurken konuşma sayfalarında yaygın olarak kullanılır. Aynı etki, {{[[Template:Navbar|Navbar]]}}, ancak {{tl}} yaklaşım çok daha az yazmayı içerir. Herhangi bir vikide Tl şablonu, varsa, metni bir "code" ögesinde veya monospace tipte oluşturabilir veya oluşturmayabilir. Değilse (bu vikide olduğu gibi), benzer şekilde adlandırılmış başka bir şablon bunu yapabilir. Örneğin, belgelendirmemizin "Ayrıca bakınız" bölümüne bakın.

Bir vikiden diğerine kopyalama

Şablonlar genellikle CSS veya başka şablonlar gerektirir; Aşağıdaki adımlar çoğu şablon için geçerli olmalıdır.

MediaWiki kodu

Yeni vikide içe aktarma haklarınız varsa (Özellikle içe aktarma):

  1. Orijinal vikide Special:Export gidin ve aşağıdaki tüm gerekli şablonların geçmişini içeren bir .xml dosyası indirin:
    • Büyük metin kutusuna şablonun adını girin, ör. "Şablon:Hoşgeldin". Büyük/küçük harflere ve özel karakterlere özellikle dikkat edin - şablon adı tam olarak doğru değilse, dışa aktarma yine de gerçekleşebilir, ancak .xml dosyası beklenen verilere sahip olmaz.
    • "Şablonları dahil et" kutusunu seçin.
    • "Geçmiş revizyonları almadan yalnızca son sürümü al" kutusunu seçin.
    • "Dışa aktar" tıklayın.
  2. Yeni vikide Special:Import'a gidin ve .xml dosyasını yükleyin.

Yeni vikide içe aktarma haklarınız yoksa:

  1. Orijinal vikiden kopyalamak istediğiniz şablona gidin. Düzenleme sayfasına gidin ve tüm vikimetnini kopyalayın
  2. Yeni vikide kopyaladığınız şablonla aynı ada sahip sayfaya gidin. Kopyaladığınız vikimetnini oluştur/düzenle ve yapıştır'a basın. Her şablonun düzenleme özetinde, ilişkilendirme için orijinal sayfaya bağlantı verin.
  3. Düzenleme penceresindeki orijinal vikide, düzenleme kutusunun altında, "Bu sayfada kullanılan şablonlar" listesine bakın. Listelenen her şablon için bu talimatları izleyin. Ayrıca bu şablonlardan herhangi biri tarafından kullanılan herhangi bir şablon yapın.
  1. On the new wiki, go to the page with the same name as the template you copied. Hit create/edit and paste the wikitext you copied. In the edit summary of each template, link to the original page for attribution.
  1. Back in the original wiki at the edit window, below the edit box, look at the list of "Templates used on this page". For each template listed follow these instructions. Also do that for any template used by any of these templates, and so on.

Bu gerekli tüm kodu kopyalar ve bazı şablonlar için yeterli olur. Yalnızca sayfanın oluşturulmasında ayrıştırılan sayfa ögelerinin dışa aktarıldığını, dolayısıyla belge alt sayfalarının bu işlemin bir parçası olarak dışa aktarılmadığını unutmayın. Çalışmazsa, düzenleme kutusunun altındaki "Bu sayfanın geçerli sürümüne aktarılan sayfalar:" altında listelenen kırmızı bağlantıları da kontrol edin. Bunlar için yukarıdaki adımları da tekrarlayın ve modüllerdeki kodu da kopyalayın.

Şablonu ve tüm bağlantılı şablonlarını diğer vikiden başarıyla içe aktardıktan sonra, vikinize uyacak şekilde özelleştirmeleri değiştirmek için düzenleyin. Örneğin, bir logoyu değiştirmek için gereksiz kategorileri veya kırmızı bağlantıları kaldırın.

Uzantılar

Şablonlarda sıklıkla kullanılan bir uzantı ParserFunctions'dır. Extension:ParserFunctions sayfasını ziyaret edin ve orada listelenen işlevlerden herhangi birinin kopyaladığınız şablonlarda kullanılıp kullanılmadığını kontrol edin. Öyleyse, ParserFunctions uzantısını yüklemeniz gerekir. Yüklemek için, MediaWiki kurulumunuzun sunucusuna sistem yöneticisi erişimine ihtiyacınız olacaktır.

Şablonlarda, özellikle Wikipedia'da kullanılabilecek bir başka bağımlılık da Lua. Şablon kodunda {{#invoke: }} yapmak bunun için iyi bir işarettir. Kullanılması durumunda, Scribunto uzantısını yüklemeniz gerekir ve sistem yöneticisi erişimi de gereklidir. Uzantıyı yükleme ve kullanma hakkında daha fazla talimat için bu sayfaya bakın.

CSS ve JavaScript kodu

MediaWiki kodunun yanı sıra, birçok şablon CSS'den yararlanır ve bazıları tam olarak çalışması için JavaScript'e güvenir. Kopyalanan şablonlar beklendiği gibi davranmıyorsa, nedeni bu olabilir. Gerekli CSS ve JavaScript'i vikinize kopyalamak için normalde yönetici ayrıcalıklarına sahip olmanız gerekir, çünkü "MediaWiki:" ad alanında sistem mesajlarını düzenleyeceksiniz.

  1. Şablon metninde CSS sınıflarının (class="foobar" gibi metin) kullanımını arayın. Bu sınıflar orijinal vikideki "MediaWiki:Common.css" veya "MediaWiki:Monobook.css" klasörlerinde görünüyorsa, bu sınıfları yeni vikideki "MediaWiki:Common.css" klasörüne kopyalayın ve şablonun şimdi iyi olup olmadığını kontrol edin.
  2. Kopyalanan şablon hala beklendiği gibi çalışmıyorsa, orijinal vikide "MediaWiki:Common.js" veya "MediaWiki:Monobook.js" de kod olup olmadığını kontrol edin. Öyleyse, yeni vikide "MediaWiki:Common.js" dosyasına kopyalamayı deneyebilirsiniz. Normalde, yalnızca güvenilir kaynaklardan kod kopyalamak ve önce ilgili parçaları tanımlamak ve seçmek için koda göz atmak iyi bir fikirdir. Her parçanın işlevselliğini tanımlamak için ipucu olabilecek yorumları bulabilirsiniz.

Ayrıca bakınız

Genel şablon kullanımı

  • tr:Yardım:Şablon – buradan biraz daha detay
  • m:Help:Şablon – şablonların tam olarak nasıl çalıştığı hakkında çok daha ayrıntılı bir el kitabı içerir
  • m:Help:Gelişmiş şablonlar – dinamik şablon çağrıları ve değişken parametre adları gibi daha gelişmiş teknikleri küçümser

Şablonlarda kullanılan özel yapılar

Diğer ilgili bilgiler

Dış bağlantılar