Extension:Page Forms/Input types/tr

Bu sayfa, Page Forms'da bulunan çeşitli giriş türlerini ve bunlar için ayarlanabilen parametreleri ve diğer özelleştirmeleri kapsar.

text
Varsayılan giriş türü; HTML "metin" girişine karşılık gelir.

Özel parametreler:
 * boyut - Girişin genişliğini karakter cinsinden belirtir.
 * maksimum uzunluk - Girişin izin verilen maksimum uzunluğunu belirtir.
 * yer tutucu metin - Kullanıcı tıklatana kadar girişte görüntülenen yardım metnini belirtir.
 * value - sets the "autocapitalize" parameter in the corresponding HTML tag to whatever value is set for this parameter; examples include,  ,  , etc.

textarea
HTML etiketine karşılık gelir.

Özel parametreler:
 * num satırları - Satır sayısını belirtir.
 * num sütunları - Sütun sayısını belirtir.
 * maksimum uzunluk - Girişin izin verilen maksimum uzunluğunu belirtir.
 * - Metin alanını, yüksekliğini içeriğinin yüksekliğine uyacak şekilde "otomatik olarak büyütecek" şekilde ayarlar, böylece bir kaydırma çubuğuna gerek kalmaz.
 * düzenleyici türü - İçeriğini daha kullanıcı dostu hale getirmek için metin alanına JavaScript tabanlı bir düzenleyici ekler. Aşağıdaki değerler desteklenmektedir:
 * - yüklenmesi gereken uzantısını kullanır. Ne yazık ki, WikiEditor uzantısındaki bir sınırlama nedeniyle formdaki yalnızca bir girişle ilişkilendirilmiş WikiEditor olabilir. WikiEditor'a fazladan  eklemek isterseniz, bunları JavaScript'te   eklemeniz gerekir, tıpkı   için var oldukları gibi.
 * Note that there was a change to the WikiEditor code in the version that corresponds to MediaWiki version 1.34 that broke this functionality. It was restored in the 1.36 version of WikiEditor, with a corresponding change in version 5.1 of Page Forms. If you are using a version somewhere in the middle for WikiEditor, and you don't want to upgrade MediaWiki, you can manually apply the necessary change to the code, which can be found here. You should also upgrade to version 5.1 or later of Page Forms if you are using an older versions; or you can apply the Page Forms patch here.
 * - yüklenmesi gereken uzantısını kullanır. This does not work with multiple-instance templates.
 * - yüklenmesi gereken uzantısını kullanır. Başka bir uzantı olan  olarak da yüklenmelidir. Araç çubuğunun altta değil de (varsayılan) düzenleme alanının üstünde görünmesini istiyorsanız,   eklemeniz gerekecektir.


 * maksimum yükseklik - VisualEditor kullanılıyorsa, VE autgrow kullandığından metin alanı için maksimum yüksekliği (piksel cinsinden) belirtir. Varsayılan olarak bu değer 400'dür.
 * yer tutucu metin - Kullanıcı tıklatana kadar girişte görüntülenen yardım metnini belirtir.

Otomatik tamamlamayla metin, metin alanı otomatik tamamlamayla
Bu iki giriş 5.0 sürümünde "combobox" ve "tokens" için takma adlara dönüştürüldü. Önceki sürümler için, bunlar  ve   giriş türleriyle aynı şekilde görüntülenir ve aynı şekilde yapılandırılabilir, ancak aynı zamanda bir veya birden çok değerde otomatik tamamlama sağlarlar. Otomatik tamamlamanın nasıl özelleştirileceğini öğrenmek için aşağıdaki "Değerleri ve eşlemeleri ayarlama" ve "Otomatik tamamlama" sayfalarına bakın.

combobox
"Comboox" giriş türü bir combo box arabirimi sağlar: normal bir otomatik tamamlama alanı gibi işlev gören, ancak açılır listeninki gibi ek bir aşağı ok simgesi olan bir girişi, kullanıcı tüm mevcut değerleri aynı anda görür. Select2 JavaScript kitaplığı kullanılarak uygulanır.

Özel parametreler:


 * boyut - Girişin genişliğini karakter cinsinden belirtir.
 * - Alandaki rastgele değerlere izin vermez.
 * yer tutucu metin - Kullanıcı üzerine tıklayana kadar girişte görüntülenen yardım metnini belirtir.
 * ad alanı - Belirtilen ad alanını seçilen değerin başına ekler.

tokens
Bu girdi türü, alandaki değerleri "tokenizes" haline getirir, yani her bir değerin etrafına bir blok koyar ve onu yalnızca bir karakter dizisi yerine tek bir birim haline getirir. Bu "tokens" daha sonra yeniden düzenlenebilir. "combobox" gibi, bu girişi Select2 JavaScript kitaplığı kullanılarak gerçekleştirilir.

Özel parametreler:


 * boyut - Girişin genişliğini karakter cinsinden belirtir.
 * maksimum değerler - İzin verilen maksimum değer sayısını belirtir.
 * - Alandaki rastgele değerlere izin vermez.
 * yer tutucu metin - Kullanıcı tıklatana kadar girişte görüntülenen yardım metnini belirtir.
 * ad alanı - Belirtilen ad alanını seçilen her değerin başına ekler.

Varsayılan olarak, "tokens" tek satırlı bir girdi olarak görünür ve daha fazla değer eklendikçe gerekirse dikey olarak genişler. Bazı durumlarda, genişleyeceğini kullanıcılara daha açık hale getirmek için, bu girişinin başladığında bir satırdan daha uzun görünmesini isteyebilirsiniz. Bunu tek bir giriş için yapmak için, alan etiketine " " gibi bir  parametresi ekleyin, ardından MediaWiki:Common.css ile aşağıdakine benzer bir şey ekleyin:

Bunun vikideki tüm "tokens" girişlerine uygulanmasını istiyorsanız, bunun yerine MediaWiki:Common.css ile şöyle bir şey ekleyin:

radiobutton
"radiobutton" girişi HTML "radio" girişine karşılık gelir. Kullanıcının yalnızca birini seçebileceği bir dizi değeri gösterir.

Varsayılan olarak, ilk radyo düğmesi değeri "None" ve kullanıcının boş bir değer seçmesine izin verir. "None" görünmesini önlemek için, alanı "mandatory" yapmanın yanı sıra izin verilen değerlerden birini alanın "default=" değeri yapmalısınız.

dropdown
"dropdown" giriş, HTML &lt;select&gt; etiketine karşılık gelir. Kullanıcının yalnızca birini seçebileceği bir açılır değerler listesi gösterir.

checkboxes
"checkboxes" girişi, kullanıcının herhangi bir sayıda değer seçmesine izin veren onay kutularını görüntüler. Belirli bir sayıdan fazla onay kutusu varsa, "Tümünü seç" ve "Hiçbirini seçme" bağlantıları otomatik olarak onay kutuları kümesinin üzerinde görünerek kullanıcıların tümünü veya hiçbirini otomatik olarak işaretlemelerine olanak tanır. Bu sayı  değişkeni tarafından belirlenir, varsayılan olarak 10'dur, ancak LocalSettings.php içinde değiştirilebilir.

Özel parametreler:


 * - Değerlerin sayısına bakılmaksızın bu giriş için "Tümünü seç" ve "Hiçbirini seçme" bağlantılarını gizleyin
 * - değerlerin sayısına bakılmaksızın bu giriş için "Tümünü seç" ve "Hiçbirini seçme" bağlantılarını görüntüleyin

listbox
"listbox" girişi, "multiple" özniteliği eklenmiş HTML &lt;select&gt; etiketine karşılık gelir. Kullanıcının herhangi bir sayıda değeri seçebileceği dikey bir seçenek listesi gösterir.

Özel parametreler:


 * boyut - Liste kutusunun yüksekliğini belirtir.

tree
"tree" giriş türü, alanın bir veya daha fazla öğeyi tutup tutamayacağına bağlı olarak tüm değerlerin yanlarında radiobuttons veya checkboxes olduğu hiyerarşik, ağaç tarzı bir girişe izin verir. Değerler, viki içindeki bir kategori ağacından gelebilir veya form tanımında manüel olarak ayarlanabilir.

Bu giriş, bir veya daha fazla değeri tutup tutamayacağını nasıl anlar ve bu nedenle radyo düğmelerini ve onay kutularını görüntülemelidir? Şablondaki alanın bir değerler listesi tutuyor olarak tanımlanıp tanımlanmadığını (#arraymap kullanarak) kontrol eder. Yine de bu kontrol mükemmel değil. tree girişi checkboxes yerine radiobuttons gösteriyorsa, bunun bir liste olduğunu belirlemek için form tanımındaki alan etiketine "|list" parametresini eklemeniz yeterlidir.

Değerlerin kaynağına bağlı olarak, şu iki ek parametreden birini belirtmeniz gerekir:


 * - kategorinin adını "ağacın" tepesine ayarlar.
 * - tüm ağaç yapısını ayarlar; derinlik seviyesini ayarlamak için vikimetin tarzı madde işaretleri kullanmalısınız.

"structure" parametresini kullanırsanız, aşağıdaki gibi görünmelidir:

Ayrıca isteğe bağlı olarak şu parametreleri de ayarlayabilirsiniz:


 * - ağacın içinde göründüğü kutunun yüksekliğini piksel cinsinden ayarlar.
 * - ağacın içinde göründüğü kutunun genişliğini piksel cinsinden ayarlar.
 * - alan bir değerler listesi içerebileceği zaman sınırlayıcıyı ayarlar. Varsayılan ','.
 * - üst kategorinin adını gizler.
 * - başlangıçta gösterilen üç seviyenin sayısını ayarlar. Varsayılan 10.

Bu giriş türünü burada kullanan örnek bir form görebilirsiniz.

Kategori adları için
Bir kategori ağacını görüntülemek için "tree" giriş türünü kullanıyorsanız, bu girişin önünde "Kategori:" ad alanı olmadan yalnızca seçilen kategorilerin adlarını yazdıracağını unutmayın; bu nedenle, bunun sayfada da görünmesini istiyorsanız, şablonun onu eklemesi gerekecektir.

Alan birden fazla kategori belirtiyorsa ve şablon bunu yapmak için #arraymap kullanıyorsa, #arraymap çağrısı şunun gibi görünmelidir:

...başka bir deyişle, kategori etiketleri arasına virgül yazdırmaktan kaçınmak için #arraymap için son "delimeter" parametresini belirtmeniz ve onu boşluk veya benzeri bir şey yapmanız gerekir.

checkbox
Boole değerleri için kullanılan tek bir onay kutusu.

Özel parametreler:


 * - bu onay kutusu için bir &lt;label&gt; etiketine gidecek bir "etiket" belirtir.

date
Bu giriş, yıl, ay ve gün için üç ayrı giriş içerir.

datetime
"datetime" girişi "date" girişine benzer, ancak saat, dakika, saniye ve ÖÖ/ÖS için ek girişler içerir.

Özel parametreler:


 * - bir saat dilimi girişinin de dahil edilmesi gerektiğini belirtir.

year
"year", bir tarih alanı için yalnızca yıllık bir değer elde etmek için kullanılan basit bir metin girişidir.

datepicker
"datepicker", kullanıcının JavaScript tabanlı bir açılır pencere takvimi yardımıyla bir tarih seçmesine izin verir.

Special parameters:
 * - sets a custom date format, used only for the input field. An example would be.
 * - sets the first date the user is allowed to select.
 * - sets the last date the user is allowed to select.

The starting day of the week (e.g., Saturday, Sunday or Monday) is set based on the language of the wiki; it unfortunately cannot be set independently of the language. If your wiki is in English and you would like weeks in the calendar input to start on Monday instead of Sunday (which is the default), you can do that by setting your wiki's language to be "en-gb" instead of "en".

datetimepicker
"datetimepicker", "datepicker" ile çok benzeyen JavaScript tabanlı bir girdi türüdür, ancak hem tarih hem de saati seçmek için açılır pencereler içerir. Varsayılan olarak  şeklindedir. Parametre seti, aşağıdakilerin yanı sıra tümü "datepicker" ile içerir:


 * - izin verilen minimum süre
 * - izin verilen maksimum süre
 * - kullanıcıya gösterilen seçenekler arasındaki aralık (dakika cinsinden)

rating
"rating" giriş türü, kullanıcının bir derecelendirme girmesine izin vermek için bir dizi yıldız görüntüler.

Özel parametreler:


 * - her yıldızın genişliğini (ve yüksekliğini) belirtir. Varsayılan 24px.
 * - görüntülenecek yıldız sayısını belirtir. Varsayılan 5'tir.
 * - kullanıcıların yarım yıldız seçmesine izin verin. Varsayılan yanlıştır; true yapmak için 'yes' (veya başka bir değere) ayarlayın.

googlemaps, leaflet, openlayers
"googlemaps", "leaflet" ve "openlayers" girdi türleri, sırasıyla Google Maps, Leaflet veya OpenLayers hizmetlerini kullanarak bir koordinat değeri elde etmek için bir harita görüntülemenizi sağlar.

"googlemaps" girişini kullanıyorsanız, bir Google Haritalar API anahtarı almanız ve ardından girdinin görüntülenmesi için  ayarıyla LocalSettings.php olarak ayarlamanız gerekebilir.

Bu giriş türleri için isteğe bağlı olarak şu parametreleri de ayarlayabilirsiniz:


 * - haritanın yüksekliğini piksel olarak ayarlar.
 * - haritanın genişliğini piksel olarak ayarlar.
 * Both height & width are needed together to set the dimension.

The "googlemaps" input type allows one additional parameter
 * - görüntülenen haritanın sınırlarını ayarlamak için bir çift koordinat alır; bu parametre yalnızca girişin bir değeri yoksa geçerlidir. (Bu parametre için örnek değer: "-20,-15;50,55".)

"leaflet" giriş türü bir ek parametreye izin verir:


 * - coğrafi bir harita yerine, belirtilen resmi (vikiye yüklenmiş bir resim olmalıdır) harita için arka plan olarak ayarlar.

Tüm harita girişleri, koordinatları daha kolay bulmak için bir adres girmenize izin verir. Ancak form, adresi girmek için zaten bir veya daha fazla alan içeriyorsa, kullanıcının iki kez girmesi gerekebilir. Birincisi verileri gerçekten saklamak için ve ikincisi koordinatları bulmak için. Kullanıcıların bu ikili işi yapmak zorunda kalmasını önlemek için, adres alanlarının, noktayı bulurken değerlerini doğrudan haritaya beslemesini sağlayabilirsiniz. Bunu "feeds to map=" parametresini kullanarak yapabilirsiniz. "feeds to map" ile burada arayın.

Varsayılan olarak bu biçimlerin tümü harici JavaScript koduna dayanır. Ancak, yalnızca OpenLayers uzantısını yükleyerek "openlayers" biçiminin bunun yerine yerel JavaScript kodunu kullanmasını sağlayabilirsiniz.

Devre dışı bırakma
Bu giriş türlerinin hepsinin vikinizin verilerini (yani, sorgu sonuçlarında bulunan verileri) harici hizmetlere gönderdiğini unutmayın. Bunlar, Page Forms kodunun, dış değerlerde otomatik tamamlama dışında harici olarak veri gönderen tek kısmıdır, ancak bunun çalışması için ek yapılandırma gerektirir. Özel bir vikiniz varsa ve veri çıkmaması konusunda çok endişeliyseniz, aşağıdakileri LocalSettings.php ile eklemek isteyebilirsiniz:

Bu, herhangi bir dış hizmetin Page Forms tarafından kullanılmasına izin vermeyecektir. Bu, şu anda bu üç giriş türünü devre dışı bırakmak anlamına gelir.

regexp
"regexp" giriş türü gerçek bir girdi türü değil, daha ziyade ek, düzenli ifade tabanlı doğrulama ile başka bir girişi (çoğunlukla "metin") görüntüleme yeteneğidir. Bu giriş türü ve parametrelerinin daha ayrıntılı açıklaması için buraya bakın.

Veri türleri için izin verilen giriş türleri
Tanımlanmış her bir veri türü, Cargo veya Semantic MediaWiki kullanılırken, varsayılan bir giriş türüne ve uygun olduğunda varsayılan bir giriş boyutuna sahiptir. Ek olarak, alan yalnızca "tek bir değer" yerine sınırlandırılmış bir değerler listesi içeriyorsa, bazı veri türleri özel işlemeye sahiptir.

Her veri türü için varsayılanlar ve diğer izin verilen giriş türleri, tek değerler için:

Ve burada, belirli bir veri türünün ayrılmış listeleri için varsayılan ve diğer izin verilen girdi türleri verilmiştir:

Değerleri ve eşlemeleri ayarlama
Bazı giriş türleri, kullanıcıya önceden tanımlanmış değerler sağlar. Bunlar, kullanıcının aralarından seçmesi gereken değerler ( giriş türü gibi) veya yalnızca kullanıcıya rehberlik etmesi amaçlanan değerler olabilir (  gibi, ancak bu seçenekler de zorunlu hale getirilebilir,   parametresini eklerseniz).

Her iki durumda da, kullanıcıya gösterilen değerleri belirtmek için kullanılan parametre seti hemen hemen aynıdır. Her durumda kullanılabilen "field" etiketi için parametreler şunlardır:


 * +  – Vikide Cargo yüklediyseniz, bu parametreler seti,   yaptığı gibi, giriş türü otomatik tamamlama kullanıyorsa otomatik olarak kullanılacaktır. Kod, bu şablonun/form alanının karşılık geldiği Cargo tablosunu ve alanını bulacak ve bu alan için ayarlanmış tüm değerleri kullanacaktır. Veya bu parametreleri istediğiniz tablo ve alan kombinasyonunu belirtmek için kullanabilirsiniz.
 * – Yüklü Semantic MediaWiki'niz varsa, giriş türü otomatik tamamlamayı kullanıyorsa, bu parametre otomatik olarak kullanılacaktır. Kod, ilgili özelliği bulacak ve tüm değerlerini kullanacaktır veya bu parametreyi farklı bir özellik belirtmek için kullanabilirsiniz.
 * – İşlevsel olarak, bu parametre yukarıdaki  ile aynı şekilde çalışır, ancak bazı yan etkilerden yoksundur:   ayrıca alanın boyutunu ve hatta giriş türünü etkileyebilir.
 * – Değerlerini belirli bir kategoriye ait tüm sayfaların adlarından alır.
 * – Değerlerini bir veya daha fazla belirli ad alanlarına ait tüm sayfaların adlarından alır. Birden fazla ad alanından değer almak için adları virgülle ayırın. Ana ad alanından değerler almak için "Ana" kullanın veya boş bırakın.
 * – Değerlerini belirli bir SMW kavramına ait tüm sayfaların adlarından alır.
 * – Son olarak, kullanıcıya gösterilen değer kümesini elle belirtebilirsiniz; bir örnek  olacaktır. Bu değerler kümesi varsayılan olarak virgülle ayrılmalıdır, ancak sınırlayıcı   parametresi kullanılarak değiştirilebilir.

Otomatik tamamlama tabanlı girişler için birkaç seçenek daha vardır; aşağıdaki "Otomatik tamamlama" bölümüne bakın.

Haritalama
Kullanıcıya görüntülenen değerler kümesinin, sayfanın vikimetin dosyasında gerçekte görünen değerler kümesinden farklı olmasını sağlayabilirsiniz. Değerler sayfa adları ise ve bu sayfaların gerçek sayfa adlarından farklı bir "görüntü başlığı" kümesi varsa, bu durumda varsayılan olarak form, sayfa adı yerine görünen başlığı görüntüler. İsterseniz, aşağıdakileri LocalSettings.php ile ekleyerek sayfa adının kendisinin görüntülenmesini sağlayabilirsiniz:

Aşağıdaki parametreleri kullanarak diğer bu tür eşlemeleri etkinleştirebilirsiniz:


 * şablon adı - Bir "mapping template" adını alır (tek, adlandırılmamış bir parametre, yani alan ve sonuç olarak "eşlenmiş" bir dize görüntüleyen bir şablon) ve bu şablonu her potansiyel değeri eşlemek için kullanır, böylece değerler. Değerlerin kendileri değil ekranda "takma adlar" görünür.
 * özellik adı - 'combobox', 'tokens', 'listbox' ve 'dropdown' giriş türlerine sahip sayfaları seçen alanlar için kullanılır. Olası her değer için, sayfanın başlığı yerine o sayfadaki bir SMW özelliğini görüntüler, ancak seçili sayfaların başlığını alan değeri olarak kaydeder. Olası değerlerin listesini almak için  parametreleriyle birlikte kullanılır.
 * tablo adı/ alan adı - Cargo alanları için kullanılması dışında  benzeridir. ,  ,   ve  /  ile birlikte kullanılır. You can additionally use the   parameter, which dictates which field in the table used for mapping should be used as the "value" field (by default it is  ).
 * - Translate uzantısı yüklüyse, eşlenen değeri almak için her değerde Translate'in sihirli kelimesini çağırır.

Example 1: mapping template
Örneğin, bir form şuna benzer bir alan etiketi içerebilir:

Template:StatusLabel altındaki şablon daha sonra aşağıdakilere benzer bir şey içerebilir:

Daha sonra, değerin etiketini normal, form olmayan sayfalarda görüntülemek için aynı "mapping template" ile kullanabilirsiniz. "status" alanını içeren şablon içinde aşağıdakilere sahip olabilirsiniz:

Example 2: Cargo-based mapping
Let's say that, in a company, every employee is assigned an employee ID. In the wiki, the page about each employee has as its name the employee ID. There are also pages about projects, and within each project page is a "Project members" field, which holds a list of employee IDs. In the "Project" form, in the "Project members" input, you want people to enter in employees' actual names, but have the employee IDs show up on the page. You could do that with the following field tag:

Now, what if the name of each employee page is not the employee ID (nor their real name) but rather a randomly-assigned name, like "Employee 12345"? Then you could do the mapping using the additional "mapping cargo value field" parameter, like this:

Otomatik tamamlama
Giriş türlerinden dördü (5.0'dan önceki sürümler için,  , artı   ve  ), otomatik tamamlamayı kullanın. Kullanıcı yazmaya başlar, giriş olası tamamlamaların bir açılır listesini gösterir.

Bir alan " " türünde bir Semantic MediaWiki özelliğini veya Cargo alanını temsil ediyorsa, otomatik tamamlama varsayılan olarak etkinleştirilir. Alan, o özellik veya alan tarafından zaten işaret edilen tüm sayfaların adlarında otomatik olarak tamamlanır. Diğer türler için varsayılan otomatik tamamlama yoktur, ancak bu aynı etkiyi yalnızca giriş türünü otomatik tamamlamaya sahip dört türden birine ayarlayarak elde edebilirsiniz.

Bir SMW özelliğinden, bir Kargo alanından, bir kategoriden, bir ad alanından, bir "kavram"'dan veya elle ayarlanan bir listeden "değerler ..." parametrelerden birini kullanarak otomatik tamamlama için bir alanı manuel olarak ayarlayabilirsiniz. Yukarıdaki "Değerleri ve eşlemeleri ayarlama" bölümüne bakın.

Ayrıca, web sayfalarında, veritabanlarında, dosyalarda vb. yer alan viki dışındaki değerlere dayalı olarak da otomatik tamamlama yapabilirsiniz; bunu yapmanın çeşitli yolları için aşağıdaki "Dış değerlerde otomatik tamamlama" bölümüne bakın.

Bir alan birden çok değeri tutacak şekilde belirtilirse, otomatik tamamlama varsayılan olarak birden çok değeri destekleyecektir: bir değer girildikten ve bir sınırlayıcı yerleştirildikten sonra, sonraki değer için yeni bir otomatik tamamlama başlayacaktır. Alanın tanımına "list" parametresini ekleyerek bir alanın birden çok değerli otomatik tamamlamaya sahip olması gerektiğini elle belirtebilirsiniz. Ayrıca "delimiter=..." parametresini (varsayılan virgüldür) kullanarak bu değerler listesi için sınırlayıcı belirtebilirsiniz.

Varsayılan olarak, bir alanın sunacağı maksimum otomatik tamamlama olasılığı sayısı 1.000'dir; bu performans nedenlerinden dolayıdır. Bu sayıyı değiştirmek için  değerini LocalSettings.php içinde değiştirin.

Devre dışı bırakma
Bir alan için varsayılan olarak etkinleştirilmişse, giriş türünü basitçe "text" veya "textarea" olarak ayarlayarak otomatik tamamlamayı devre dışı bırakabilirsiniz.

Uzaktan otomatik tamamlama
Otomatik tamamlama için bir alanın olası değerleri kümesi, varsayılan olarak, bir JavaScript bildiriminde formun HTML sayfasında yer alır. Performans nedenleriyle, sayfaya kaç değer yerleştirilebileceğine dair bir sınır vardır; varsayılan olarak sınır 100 olarak ayarlanmıştır. Bu sayıya ulaşıldıktan sonra, bunun yerine uzaktan otomatik tamamlama yapılır, burada otomatik tamamlama, kullanıcının yazdıklarına bağlı olarak sunucuya bir Ajax çağrısı yoluyla gerçekleşir. Bu tür otomatik tamamlama daha yavaştır, ancak çok daha fazla otomatik tamamlama sonucuna izin verir.

Varsayılanı, aşağıdaki gibi LocalSettings.php ile ekleyerek değiştirebilirsiniz:

Her karakterde eşleştirme
Varsayılan olarak, Page Forms otomatik tamamlama, olası değerler kümesindeki her kelimenin başlangıcında eşleşir. Ancak, aşağıdaki satırı LocalSettings.php ekleyerek otomatik tamamlamayı her karakterde eşleşecek şekilde değiştirebilirsiniz:

Bu özellik, Latin alfabesi olmayan dillerdeki vikiler gibi ASCII olmayan karakterler içeren değerlere sahip vikiler için özellikle önemlidir; varsayılan olduğundan, kelime tabanlı otomatik tamamlama henüz ASCII olmayan karakterlerle çalışmamaktadır.

Aksanlı karakterlerde otomatik tamamlama
Aksanlı karakterler için esnek otomatik tamamlama, birleşik giriş kutusu ve simge giriş türü tarafından desteklenir.

Vurgu katlamanın kendi sınırlamaları vardır, ancak bazı önemli ancak gözden kaçan kullanıcı etkileşimlerinin daha iyi çalışmasına yardımcı olabilir. Aksan katlama işlevi, esasen Unicode karakterlerini ASCII eşdeğerleriyle eşler. Aksan katlama ile kullanıcıların kafe, café veya hatta çåFé araması farketmez; sonuçlar aynı olacaktır.

Dış değerler üzerinde otomatik tamamlama
Viki dışındaki verileri kullanarak alanı otomatik tamamlamanın iki yolu vardır. Biri, bir alt dizeyi alan ve MediaWiki API tarafından döndürülen JSON biçimine benzer JSON biçiminde veri döndüren bir URL'den, diğeri ise External Data uzantısı bazı harici/dahili kaynaklardan veri almak için kullanmaktadır.

Harici bir URL'den
Aşağıdaki parametreyi kullanarak, viki dışındaki değerlerde alanı otomatik tamamlayabilirsiniz:


 * URL tanımlayıcı

Bunu yapmak için aşağıdaki adımları izleyin:


 * 1) Sorgu dizesi aracılığıyla bir alt dizeyi alan ve bir dizi tamamlama değeri görüntüleyen bir sayfa/web hizmeti oluşturun. Page Forms, bir üst seviye anahtarı "pfautocomplete" olan bir JSON biçimi yanıtı ve olası tamamlamaların değerlerini işaretleyen "title" anahtarına sahip bir nesne dizisi almayı bekler. Bunun kısa bir örneğini semantic-mediawiki.org'da bu API çağrısından görebilirsiniz.
 * Örneğin, üç ülkeden oluşan bir listeniz varsa Uruguay, Germany ve Japan, ve "an" için olası tamamlamaların bir listesi istenmişse, şunu döndürürsünüz:
 * Bu aynı zamanda başka bir vikideki değerleri otomatik tamamlamayı da kolaylaştırır.
 * 1) Bu URL'yi temsil edecek kısa bir dizeye karar verin.
 * Örneğin, ülke listemizde arama sağlayan hizmet " " olarak adlandırılabilir.
 * 1) Page Forms ile dizeyi gördüğünde URL'nizi kullanacak şekilde yapılandırmak için kısa dizeyi LocalSettings.php dosyanızdaki   dizisine ekleyin. Kullanıcının girişinin gitmesini istediğiniz yere " " koyun.
 * Örneğimizde, Page Forms kullanıcının tuş vuruşlarını url 'ye url parametresi " " aracılığıyla beslemesini istiyorsak, şunu koyarız:
 * 1) Form tanımındaki ilgili alana "values from url=URL-tanımlayıcı-dize" parametresini ekleyin.
 * Ülke örneğimiz için şuna benzeyen bir alanımız olabilir:
 * 1) Form tanımındaki ilgili alana "values from url=URL-tanımlayıcı-dize" parametresini ekleyin.
 * Ülke örneğimiz için şuna benzeyen bir alanımız olabilir:

External Data uzantısını kullanma


External Data uzantısı (ED), harici URL'ler, normal viki sayfaları, yüklenen dosyalar, yerel sunucudaki dosyalar, veritabanları ve LDAP dizinlerini içeren bir dizi kaynaktan veri almayı destekler.

Note that in order to use the External Data functionality, you must use either version 2.1 or lower, or 2.3 or higher, of External Data. If you are using version 2.3 or higher, you must version 5.0.1 or higher of Page Forms.

ED kullanarak otomatik tamamlama için, ilk olarak ED'nin "#get_..._data" ayrıştırıcı işlevlerinden herhangi birini form tanımı içinde çağırmanız gerekir (gereksiz satır sonlarını önlemek için tercihen form tanımının altında). Bu, daha sonra alan etiketlerinde kullanılabilecek verileri getirecektir. (Bunları nasıl arayacağınızı öğrenmek için External Data belgelere bakın.) Alan etiketi daha sonra şu parametreleri kullanabilir:


 * ED değişken adı (zorunlu)
 * ED değişken adı (isteğe bağlı)
 * ED değişken adı (isteğe bağlı)

Bazı URL'lerden veri almak için #get_web_data ile örnek bir çağrı:

Bir form tanımının buna benzer bir çağrı içerdiğini varsayarsak, bir alan etiketi otomatik tamamlama için alınan değerleri kullanabilir. Yalnızca otomatik tamamlama değerlerini kendileri ayarlamak için değil, aynı zamanda giriş türü "combobox" veya "tokens" ise her biri için karşılık gelen küçük resim ve açıklama.

External Data çağrımızın yukarıdaki gibi üç değer "sütununu" aldığını varsayarsak, bu verileri kullanan alan etiketi şöyle görünebilir:

Bağımlı otomatik tamamlama
Bir alanın otomatik tamamlama değerlerini, bir kullanıcının formdaki başka bir alan için önceden ayarladığı değeri temel alacak şekilde ayarlayabilirsiniz. Bu, şu sözdizimine sahip olan  parametresiyle yapılır:

{{{field ... |values dependent on= template name [ field name ]

Bu alan için geçerli izin verilen değerler kümesinin, aynı alan tarafından 'field name' geçerli formda 'field name' için seçilen değere eşit olduğu sayfalardan alınan tüm değerler olduğunu belirtir.

Bu kafa karıştırıcı mı?

Peki, bu örnek yardımcı olabilir: Bir şablon "Restaurant" olarak adlandırılırsa ve "Country" ve "City" adlı şablon alanları (özellikleri değil) varsa ve otomatik tamamlama için kullanılan şehirler kümesinin yalnızca bu şehirler kullanıcının seçtiği ülkede olmasını istiyorsanız, öyleyse City alanı için alan etiketi şunun gibi görünmelidir:

Dosya yükleme
Formdaki bir alan, yüklenen bir dosyanın adını (örneğin, bir resim) barındırıyorsa, kullanıcıların bu dosyayı doğrudan form aracılığıyla yüklemesine izin verebilirsiniz. Bu, form tanımında bu alanın bildirimine "uploadable" parametresini ekleyerek yapılır. Bu, formdaki bu alanın yanına "Dosya yükle" yazan bir bağlantı ekleyecektir; kullanıcı bu bağlantıyı tıklarsa, kullanıcının bir dosya yüklemesine izin veren (FancyBox JavaScript kitaplığını kullanarak) bir "lightbox" tarzı pencere açacaktır. Kullanıcı bunu yaptığında, pencere kapanacak ve alan yüklenen dosyanın adını içerecektir. Alan bir değerler listesi içerecek şekilde yapılandırılırsa, yeni dosya adı daha önce ne varsa ona eklenir; aksi takdirde, dosya adı daha önce içerdiği alanın üzerine yazacaktır.

"uploadable" parametresinin yalnızca "text", "text ile otomatik tamamlama", "combobox" veya "tokens" türündeki alanlarda kullanılabileceğini unutmayın.

Yüklenebilir alanlar için, alan tanımında "default filename=" parametresini ayarlayarak yüklenen dosyaların varsayılan dosya adını da ayarlayabilirsiniz. Bu parametrenin değeri ayrıştırıcı işlevlerini, sihirli sözcükleri ve benzerlerini içerebilir. Ayrıca, eklenen veya düzenlenen sayfanın adıyla değiştirilen "&lt;page name>" değişkenini de içerebilir. Dolayısıyla, alan tanımına "default filename=Image for &lt;page name>" parametresini eklemek, örneğin "Abc" adlı bir sayfa için, yüklenen herhangi bir dosyanın varsayılan adını "Image for Abc" olarak ayarlayacaktır. Yalnızca "Imageneeded.png" gibi kullanmak için varsayılan bir dosya belirtmek isterseniz, normal "default=Imageneeded.png" parametresinin işe yarayacağını unutmayın.

Dosya yükleme demosunu burada görebilirsiniz.

LocalSettings.php dosyanızda,   olarak ayarlanmışsa yükleme penceresinin çalışmayacağını unutmayın.

MediaWiki'nin yükleme sistemini kullanmak yerine, doğrudan işletim sisteminin kendi yüklemesini kullanmak için yüklenebilir alanları da ayarlayabilirsiniz. Bu, kullanıcıya daha az seçenek sunar, ancak daha basit bir işlemdir ve mobil cihazlarda fotoğraf yükleme gibi bazı ilginç seçenekler alındıktan hemen sonra sunabilir. Bunu yapmak için, aşağıdaki satırı LocalSettings.php dosyasına ekleyin:

Yüklenebilir alanlar için özel parametreler şunlardır:
 * - Bunun yüklenebilir bir alan olduğunu belirtir.
 * - Yüklenen resmini küçük resminin formdaki alanın altına yerleştirilmesi gerektiğini belirtir.
 * filename - Bu alanla yüklenen dosyalar için varsayılan dosya adını belirtir.

Parametre seçimde göster
"checkbox", "checkboxes", "radiobutton", "dropdown" ve "listbox" türündeki girişler için  parametresi, sayfadaki bir veya daha fazla öğenin yalnızca belirli değer(ler) seçildiğinde ve seçildiğinde bu girişinin içinde görüntüleneceğini belirtir.

Bu parametrenin sözdizimi şöyledir:


 * değer 1 öğe kimliği 1;değer 2 öğe kimliği 2;değer 3 öğe kimliği 3;vb.

Bir değer birden fazla öğe kimliğiyle sağlanabilir:


 * değer A öğe kimliği değer B öğe kimliği 1;değer B öğe ID 2;değer C öğe kimliği 3;vb.

'checkbox' türü girdiler için, yalnızca " öğe kimliği" kullanılmalıdır. Öğe kimliklerinin boşluk ve/veya çok baytlı karakterler içeremeyeceğini ve bir sayıyla başlayamayacağını unutmayın.

Bu özelliğin kullanım örneği için, bu form sayfasına bakın ve "Publication type" açılır menüsü için farklı değerler seçtiğinizde ne olduğunu gözlemleyin. Bunun nasıl uygulandığını bu form tanımında görebilirsiniz.