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:


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

üretir
 * Örnekler:

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:

Often default values are used to specify alternate names of parameters. For example, if you have, the template will first look for a parameter named "a". If it is not set, it will use the parameter named "b". If neither "a" nor "b" is set, it will output nothing.

Evaluation
Generally speaking, template parameters are substituted into the template after tokenization, but as is. They are not evaluated until they are used.

This has a few consequences. First of all, if you have a  containing , and a   containing  , and put   on a page, mytemplate isn't transcluded, because tokens like "|" cannot be added by a template and keep their special meaning in templates. You can still use templates to control the name of a parameter or template, but you cannot split a template call amongst multiple templates.

The second consequence of this is dead-code elimination. If you make a template call like, and Template:Foo does not contain  , then the displaytitle is not used, since it is only evaluated when needed, and it there is no parameter to substitute it into, so it is never evaluated. This usually comes into play when using Extension:ParserFunctions, and can be especially noticed when used in combination with the  magic word that varies by user language.

Template calls starting with the magic word  or   are evaluated in a separate first pass that only happens at save time, along with ~ and links using the pipe trick. If they cannot be evaluated during the first pass, subst: calls are ignored, and safesubst: are treated as if a normal template.

Many but not all parser functions, parser tags and trancluded special pages are not directly included like templates but instead are replaced by a "strip marker". This means you cannot manipulate the results with parser functions like padleft: or similar functions from extensions, as they see the strip marker instead of the result of the parser function.

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

Forbidden idiom
This safeguard precludes a potentially useful template idiom where a template self-normalizes its own calling arguments. In this forbidden example  can either be called   or. If called in the first manner, it recurses into itself with the second argument structure (obtained using string parser functions), which then follows a unified processing path.



If  is modified to recurse into   and   is an identical manual copy of   this idiom works fine as the self-recursion safeguard operates dynamically and not statically.

A feasible way for the MediaWiki software to loosen the self-recursion rule would be to require that each recursive call have a distinct argument count from all previous active calls, at most once recursing with the argument count non-decreasing. That would provide a strong guarantee against infinite self-recursion while enabling useful idioms such as the one described here in a flexible manner.

If the processing path is of low complexity, a simple solution using only one template is to handle each calling convention on a separate if/else branch, duplicating the logic of the processing path within each case. If the processing path is more complex, each call-structure case can delegate to an implementation template with a unified call structure which provides the final template behaviour.

Tables in parameters
Since the syntax for wikitables involves pipes in single braces ({ }) and using the pipe trick will not work in transclusion parameters, one will have to create a table as a separate page and transclude it from there.

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, 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 tl yaklaşım çok daha az yazmayı içerir. Herhangi bir vikide, varsa Tl şablonu metni burada gösterildiği gibi bir "kod" öğesinde oluşturabilir veya oluşturmayabilir. Değilse, benzer şekilde adlandırılmış başka bir şablon bunu yapabilir. Örneğin, Türkçe Vikipedi'deki tr:Şablon:Şb belgelerinin "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 işlenmesinde ayrıştırılan sayfa öğelerinin dışa aktarıldığını, bu nedenle örneğin belgelendirme 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

 * tr:Yardım:Tablo - kullanımı en kolay talimatlar.
 * – şablon özel kullanım örneği örneği
 * – 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
 * 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
 * m:Help:Gömülü sayfa –  dışındaki ad alanlarından sayfa yerleştirme.
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page

Dış bağlantılar

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