Help:Templates/tr

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ı " " 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:

Başka bir sayfada, o sayfa görüntülendiğinde "Merhaba! Vikiye hoş geldiniz." ş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  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:

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. 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 the help page about substitution at the English Wikipedia for more information.
 * — 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.
 * — 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.
 * — bu, yansıtmayı bozmayan değiştirmesine izin vermek için tanıtıldı, en:Help:Substitution sayfasına bakın.
 * şablonu, onu içeren sayfa getirildiğinde ham viki sözdizimi ( 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:


 * ,  dahil eder
 * ,  dahil eder
 * ,  dahil eder
 * kendisini  içeriğiyle değiştirir

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


 * ,  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:

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 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:

ve  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:

Bu durumda,  şablonu parametreleri   ve   alır, şunu üreten:

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

bu sonucu üretir:



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

Bu sefer,  şablonu   ve   parametreleri alır, ancak ters sırada sağlandıklarından ve ürettiklerinden:


 * Örnekler:

üretir



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... için. sarılır,

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

Bu durumda,  şablonu   parametreleri alır ve   şunu üretir:

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

şunu üretir:

Ş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:

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

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:

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

Alternatif parametre adlarını belirtmek için genellikle varsayılan değerler kullanılır. Örneğin,  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
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,  içeren   şablonunuz ve   içeren   şablonunuz varsa ve bir sayfaya   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. gibi bir şablon çağrısı yaparsanız ve Template:Foo 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  sihirli kelimesi ile birlikte kullanıldığında fark edilebilir.

veya  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,  çağrıları yoksayılır ve   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  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,   veya   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.



,  olarak tekrarlanacak şekilde değiştirilirse ve ,   ö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
Table code:

Escaped table code:

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 and. On such a wiki, the code can be simplified a bit to this form:



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,, ve  etiketlerini kullanarak bir şablonun hangi bölümlerinin görüneceğini ve içerileceğini kontrol edebilirsiniz.

ile 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, ile  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, 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.

ve 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.

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) ' > ' tıklayın
 * 2) ' listesinde, Şablon seçin ve ' tıklayın.

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

Kullanım
Karşılama kullanıcıları:

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



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  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,  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,, ancak   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:
 * 2) * 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.
 * 3) * "" kutusunu seçin.
 * 4) * "" kutusunu seçin.
 * 5) * "" tıklayın.
 * 6) 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.

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. sayfasını ziyaret edin ve orada listelenen işlevlerden herhangi birinin kopyaladığınız şablonlarda kullanılıp kullanılmadığını kontrol edin. Öyleyse, 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   yapmak bunun için iyi bir işarettir. Kullanılması durumunda, 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 (  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

 * – bazı şablonlarda bulabileceğiniz süslü şeyler
 * – #if ve #switch gibi ek fantezi kontrol işlevleri
 * – ayrıştırıcı işlevlerini şablonlarda kullanma konusunda kılavuz

<span id="Other_relevant_information">

Diğer ilgili bilgiler

 * – şablon özel kullanım örneği örneği
 * – Şablonları bir sayfanın başlangıç metni olarak kullanma
 * m:Help:Gömülü sayfa –  dışındaki ad alanlarından sayfa yerleştirme.
 * – Şablonları bir sayfanın başlangıç metni olarak kullanma
 * m:Help:Gömülü sayfa –  dışındaki ad alanlarından sayfa yerleştirme.
 * m:Help:Gömülü sayfa –  dışındaki ad alanlarından sayfa yerleştirme.

<span id="External_links">

Dış bağlantılar

 * Miraheze şablon deposu - Genel kullanıma yönelik MediaWiki şablonları.