Extension:DynamicPageList (Wikimedia)
Sürüm durumu: kararlı |
|
|---|---|
| Uygulama | Etiket, Ayrıştırıcı işlevi |
| Açıklama | Bir kategoride bulunan en son öğelerin madde işaretli bir listesini veya birkaç kategorinin kesişimini çıkarır. |
| Yazar(lar) | IlyaHaykinson and Amgine |
| En son sürüm | Continuous updates |
| Uyumluluk politikası | MediaWiki ile birlikte anlık görüntüler yayımlanır. Master geriye dönük olarak uyumlu değil. |
| MediaWiki | 1.23+ |
| PHP | 5.4+ |
| Veritabanı değişiklikleri | Hayır |
| Lisans | GNU Genel Kamu Lisansı 2.0 veya üstü |
| İndir | |
| Örnek |
|
|
|
<DynamicPageList> |
|
| DynamicPageList uzantısını çevirin | |
| Sorunlar | Açık görevler · Hata bildir |
DynamicPageList uzantısı, viki kullanıcılarının bir dizi kategoride listelenen sayfaların bir listesini oluşturmasına olanak tanır. Genel bilgi için m:Help:DPL sayfasına bakın.
Köken
Başlangıçta Vikihaber için geliştirilmiştir. Şu anda çoğu dildeki Vikihaber projelerinde (n:Vikihaber:DynamicPageList sayfasına bakın), Meta, MediaWiki.org ve diğer birkaç küçük projede yüklüdür. Performans sorunları nedeniyle daha fazla Wikimedia vikileri yüklenmeyecek.
Bu uzantı daha önce DynamicPageList/old ve daha sonra Intersection olarak biliniyordu. Daha fazla özelliği olan DynamicPageList3 ile de ilgilenebilirsiniz.
Kurulum ve yükleme
Kurulum
- Dosyaları indirin ve
extensions/klasörünüzdekiintersectionadlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/intersection
- LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'intersection' );
Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
Yapılandırma
Uzantı ayrıca birkaç yapılandırma değişkenini de destekler. Normalde varsayılanı değiştirmek istemezsiniz, ancak değiştirirseniz, bunları wfLoadExtension( 'intersection' ) satırından sonra LocalSettings.php dosyanıza ekleyebilirsiniz. İ Varsayılan değerleriyle birlikte desteklenen yapılandırma değişkenleri şunlardır:
# Configuration variables. Warning: These use DLP instead of DPL
# for historical reasons (pretend Dynamic list of pages)
$wgDLPmaxCategories = 6; // Maximum number of categories to look for
$wgDLPMaxResultCount = 200; // Maximum number of results to allow
$wgDLPAllowUnlimitedResults = false; // Allow unlimited results
$wgDLPAllowUnlimitedCategories = false; // Allow unlimited categories
// How long to cache pages using DPL's in seconds. Default to 1 day. Set to
// false to use the normal amount of page caching (most efficient), Set to 0 to disable
// cache altogether (inefficient, but results will never be outdated)
$wgDLPMaxCacheTime = 60*60*24; // How long to cache pages in seconds
Kullanım
DynamicPageList, viki düzenleme görünümünde XML benzeri sözdizimi ile kullanılabilir. Parametreler, listeleme, sıralama ve görüntüleme modu için sayfaları kontrol eder. Her bir parametre hakkında bilgi için aşağıdaki bölümlere bakın. Örneğin, yakın zamanda MediaWiki.org'a taşınan bu vikideki en eski beş sayfa aşağıdadır.
<DynamicPageList>
category = Pages recently transferred from Meta
count = 5
order = ascending
addfirstcategorydate = true
</DynamicPageList>
Gerçekten karmaşık bir DynamicPageList örneği:
<DynamicPageList>
category=foo
count=20
namespace=file
addfirstcategorydate=ymd
imagewidth=70
galleryshowfilesize=yes
galleryshowfilename=yes
imagesperrow=7
gallerycaption=Galleries!
ordermethod=sortkey
order=ascending
mode=gallery
offset=12
</DynamicPageList>
Foo kategorisinde de bulunan dosya ad alanındaki 12. ila 31. sayfaları listeler, bunları bir resim galerisi olarak biçimlendirir, başlıktaki foo kategorisine eklendikleri tarihle yıl ay gün biçiminde ve resimlerin 70 piksel genişliğine sahip olur
Sayfa seçimi
category
category kesişecek kategorileri listeler. DynamicPageList, listelenen her kategorisinde bulunan sayfaları listeler. Uzantının kaynak kodunda listelenecek minimum ve maksimum giriş sayısı belirlenir. Kategori adında {{CURRENTMONTHNAME}} gibi sihirli kelimeler kullanabilirsiniz.
Sözdizimi category = kategori adı
<DynamicPageList>
category = Demo
category = Demo 1
</DynamicPageList>
notcategory
notcategory, sayfaların listesini belirli bir kategorideki olmayanlar ile sınırlar. Kategori adında {{CURRENTMONTHNAME}} gibi sihirli kelimeler kullanabilirsiniz.
<DynamicPageList>
category = Demo
notcategory = Demo 1
</DynamicPageList>
namespace
namespace, yukarıda belirtilen sayfaların listesini ad veya numara ile belirtilen belirli bir ad alanındaki sayfalar ile sınırlar (Varsayılan ad alanlarının listesine bakın). Herhangi bir geçersiz ad, ana madde ad alanına eşdeğerdir.
<DynamicPageList>
category = Demo
namespace = Help
</DynamicPageList>
redirects
redirects, yönlendirme sayfaları dahil edilip edilmeyeceğini belirler. Değer, exclude (varsayılan, yönlendirmeleri listeleme), include (yönlendirmeleri listeleme) veya only (yeniden yönlendirme olmayan sayfaları listelemeyin) olabilir.
<DynamicPageList>
category = Demo
redirects = only
</DynamicPageList>
stablepages
stablepages, Extension:FlaggedRevisions kullanılırken kararlı (işaretli) sayfaların dahil edilip edilmeyeceğini belirler. Değer, exclude (listeleme), include (kararlı ve kararlı olmayan. Varsayılan liste) veya only (yalnızca kararlı sayfaları listele) olabilir. Çalışmak için FlaggedRevs yüklenmesini gerektirir.
count
count, gösterilen sonuçların sayısını kısıtlar. Varsayılan olarak, kategoriye en son eklenen sayfalar gösterilir (düzen bölüme bakınız). Uzantının, uzantı kaynak kodunda tanımlanan maksimum sonuçtan daha fazla sonuç listelemeyeceğini unutmayın.
<DynamicPageList>
category = Demo
count = 2
</DynamicPageList>
offset
offset, listeyi listedeki ilk sayfadan başka bir yerden başlatır. Örneğin, bu, çok sütunlu düzenler yapmak için count ile kullanılabilir.
<DynamicPageList>
category = Demo
offset = 2
</DynamicPageList>
Sütun demosu
<table>
<tr><th colspan="3"> recent articles in [[:category:Demo|:category:Demo]]</th></tr>
<tr><td>
<DynamicPageList>
category = Demo
count=5
</DynamicPageList>
</td>
<td>
<DynamicPageList>
category = Demo
offset = 5
count= 5
</DynamicPageList>
</td>
<td>
<DynamicPageList>
category = Demo
offset = 10
count=5
</DynamicPageList>
</td></tr></table>
Görüntülenen ayrıntılar
shownamespace
shownamespace, sayfa adlarında ad alanını görüntüler.
The value can be true (default, display in name: Help:Contents) or false (don't display in name: Contents).
<DynamicPageList>
category = Demo
shownamespace = false
</DynamicPageList>
addfirstcategorydate
addfirstcategorydate, her maddenin kategoriye eklendiği tarihi gösterir. Değer, true (görüntüleme tarihi), false (varsayılan, tarihi görüntüleme) veya bir tarih belirleyici (ymd, md, dm, dmy, mdy ve ISO 8601) olabilir. Birçok kategori belirtilmişse, ilk kategoriyi kullanır. Bağlantılı sayfa adlarının başına, yerel MediaWiki tarih görüntüleme tercihlerinize göre biçimlendirilmiş tarih eklenmiştir.
<DynamicPageList>
category = Demo
addfirstcategorydate = true
</DynamicPageList>
mode
mode listenin formatını belirler. Değer şunlar olabilir:
- unordered – maddeli liste
- ordered – numaralı liste
- none – satır sonlu düz bağlantılar
- gallery –
<gallery>gibi resim galerisi - inline – virgülle ayrılmış liste
unordered:
<DynamicPageList>
category = Demo
mode = unordered
</DynamicPageList>
sıralanmış:
<DynamicPageList>
category = Demo
mode = ordered
</DynamicPageList>
düz bağlantılar:
<DynamicPageList>
category = Demo
mode = none
</DynamicPageList>
satır içi:
<DynamicPageList>
category = Demo
mode = inline
</DynamicPageList>
mode=gallery
Galeri, çıkışın bir resim galerisi olduğu özel bir moddur. If Extension:PageImages is installed, then the page-image if one exists will be used for non-file pages. Otherwise non-File namespace pages will just be a blank space.
<DynamicPageList>
category = Demo
mode = gallery
namespace= file
</DynamicPageList>
Galeri modu aynı zamanda imagewidth (resimlerin galeride ne kadar geniş olması gerektiğini, bunu kullanıyorsanız resim yüksekliğini de ayarlamanız gerekebilir), imageheight (resminin ne kadar yüksek olması gerektiğini) galleryshowfilesize seçeneklerini de destekler (kategori sayfalarında olduğu gibi görsel boyutunu göster), galleryshowfilename (dosya adını kategori sayfalarında olduğu gibi göster), imagesperrow (galeride satır başına resim sayısı), gallerycaption (resim yazısı galeri).
addfirstcategorydate kullanımdaysa, resminin başlığına tarih eklenir.
Unutmayın, galeri başlığı şu anda bağlantıları kabul edemez. (ancak {{CURRENTMONTHNAME}} gibi şeyleri kabul edebilir)
Karmaşık bir galeri örneği şunlar olabilir:
<DynamicPageList>
count=20
namespace=file
addfirstcategorydate=ymd
imagewidth=70
galleryshowfilesize=yes
galleryshowfilename=yes
imagesperrow=7
gallerycaption=Look at my pretty gallery.
mode=gallery
shownamespace=false
</DynamicPageList>
suppresserrors
suppresserrors hataları gizler. Değer, true (hataları gizle) veya false (varsayılan, hataları göster) olabilir.
true:
<DynamicPageList>
category = Dem
suppresserrors = true
</DynamicPageList>
false:
<DynamicPageList>
category = Dem
suppresserrors = false
</DynamicPageList>
nofollow
nofollow bağlantılara rel="nofollow" koyar.
Bu, örümceklerin DynamicPageList'teki bağlantı yoluyla sayfaya ulaşmasını engeller.
Genel olarak, örümcekler ya diğer bağlantılardan sayfayı indeksleyebilecekleri ya da robots.txt/$wgDefaultRobotPolicy nedeniyle hiç olmayacaklarından bu işe yaramaz.
Genel olarak, ne yaptığınızı bilmiyorsanız ve iyi bir nedeniniz yoksa bu seçeneği kullanmamalısınız.
Birincil kullanım durumu, İngilizce Vikihaber'de Google Haberler'in ana sayfadan bağlantılı her şeyi bir madde olarak kabul etmesidir.
<DynamicPageList>
category = Demo
nofollow = true
</DynamicPageList>
googlehack
Bu Vikihaber için bir hacktir. Daha önce, Google Haberler yalnızca içinde sayılar bulunan maddeleri haber maddeleri [1] olarak kabul ettiğinden, bu maddenin listedeki sonuna ?dpl_id=<maddenin kimliği> ekleniyor. İyi bir nedeniniz olmadıkça bu seçeneği kullanmamalısınız (ancak hiçbir şeye zarar vermez). Bu, artık desteklenmeyen showcurid seçeneğinin yerini alır.
<DynamicPageList>
category = Demo
googlehack = true
</DynamicPageList>
Sıra
ordermethod
ordermethod görüntülenecek sırayı ve tarihi belirler. Değer şunlar olabilir:
- categoryadd — varsayılan, tarihe göre sırala sayfaları ilk kategori için kategorize edildi
- lastedit — sayfaların son düzenlendiği tarihe göre sırala
- length — madde uzunluğuna göre
- created — madde oluşturma tarihine göre
- categorysortkey — esasen birinci kategorinin sıralama anahtarına göre alfabetik sıralama
- sortkey — categorysortkey takma adısı
Unutulmamalıdır ki, kalıcıdır, sayfaya en son dokunulduğunda gerçekten sıralanır.
Bazı durumlarda bu, son düzenlemeye eşdeğer değildir (örneğin, buna izin değişiklikleri, bağlantılı sayfaların oluşturulması veya silinmesi ve içerilen şablonların değiştirilmesi dahildir).
Bir kategori belirtmezseniz, bu sipariş yöntemlerinden bazıları çalışmayacaktır, özellikle, categoryadd ve categorysortkey geri dönüşü, category cümlesi yoksa created.
<DynamicPageList>
category = Demo
addfirstcategorydate = true
ordermethod = lastedit
</DynamicPageList>
alfabetik örnek:
<DynamicPageList>
category = Demo
ordermethod = sortkey
</DynamicPageList>
order
Sıralama yönünü order belirler. Değer, descending (varsayılan, en yeniden en eskiye) veya ascending (en eskiden en yeniye) olabilir.
<DynamicPageList>
category = Demo
order = ascending
</DynamicPageList>
Şablonlar
Bir şablonun içinde kullanmak ve parametreleri iletmek için ayrıştırıcı işlevleri vb. kullanın, {{#tag: işlevini kullanın:
{{#tag:DynamicPageList|
category = {{{1}}}
count = {{#if: {{{2|}}} | 10 | 20 }}
ordermethod = sortkey
order = ascending
}}
Şablonu <includeonly> etiketlerinin içine koymadığınız sürece, şablon sayfasında kategori değeri boş olduğundan, şablon sayfasının kendisi bir hata mesajı görüntüler. Örnek:
Hata: En az bir kategori eklemeniz veya bir ad alanı belirtmeniz gerekiyor!
Türetilmiş uzantılar
- Türetilmiş uzantılar: Forum stilinde DPLforum çıkışı. Extension:GoogleNewsSitemap bunun gibidir ancak bir RSS beslemesi çıkarır. DynamicPageList3, daha fazla özelliğe sahip, ancak aynı zamanda daha zengin kaynaklara sahip değiştirilmiş bir sürümdür. İkincisi hiçbiri Wikimedia'nın sitelerinde kullanılmaz.
- Extension:DynamicPageListEngine - dinamik sayfa listelerini Scribunto modüller için kullanılabilir hale getirir.
| Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |
| This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |
- Stable extensions/tr
- Tag extensions/tr
- Parser function extensions/tr
- GPL licensed extensions/tr
- Extensions in Wikimedia version control/tr
- ParserFirstCallInit extensions/tr
- All extensions/tr
- Extensions used on Wikimedia/tr
- Extensions included in Miraheze/tr
- Extensions included in WikiForge/tr
- Page content extensions/tr
- Category intersection extensions/tr
