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 & 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 |
|
|
<DynamicPageList> |
|
| Licence | GNU Genel Kamu Lisansı 2.0 veya üstü |
| İndir | |
| Örnek |
|
| 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 DynamicPageList4 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:Versionseç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,main
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 $3 gibi sihirli kelimeler kullanabilirsiniz.
DynamicPageList will list pages that are found in every category listed.
A minimum and maximum number of entries to list is set in the extension's source code.
You may use magic words like {{CURRENTMONTHNAME}} in the category name.
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 $2 gibi sihirli kelimeler kullanabilirsiniz.
You can use magic words like {{CURRENTMONTHNAME}} in the category name.
<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, user, main
</DynamicPageList>
redirects
redirects, yönlendirme sayfaları dahil edilip edilmeyeceğini belirler.
Değer, $1 (varsayılan, yönlendirmeleri listeleme), $2 (yönlendirmeleri listeleme) veya $3 (yeniden yönlendirme olmayan sayfaları listelemeyin) olabilir.
exclude– default, don't list redirectsinclude– list redirectsonly– don't list pages that aren't redirects
<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, $1 (listeleme), $2 (kararlı ve kararlı olmayan. Varsayılan liste) veya $3 (yalnızca kararlı sayfaları listele) olabilir. Çalışmak için FlaggedRevs yüklenmesini gerektirir.
exclude– don't listinclude– list stable and non-stable. defaultonly– only list stable pages
Requires FlaggedRevs to be installed to work.
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.
By default, the pages added to the category most recently are shown (see order).
Note that the extension will not list more results than the maximum defined in the extension source code.
<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. The value can be true (display date), false (default, don't display date), or a date specifier (ymd, md, dm, dmy, mdy, and ISO 8601). If many categories are specified, it uses the first category. The linked page names are prepended with the date formatted according to your local MediaWiki date display preferences.
<DynamicPageList>
category = Demo
addfirstcategorydate = true
</DynamicPageList>
mode
mode listenin formatını belirler. Değer şunlar olabilir: The value can be:
- 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>
ordered:
<DynamicPageList>
category = Demo
mode = ordered
</DynamicPageList>
none:
<DynamicPageList>
category = Demo
mode = none
</DynamicPageList>
inline:
<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).
imagewidth– how wide the images should be in gallery, you may need to also setimageheightif using thisimageheight– how high the image should begalleryshowfilesize– show the image size, like on category pagesgalleryshowfilename– show filename like on category pagesimagesperrow– number of images per row in gallerygallerycaption– caption for gallery
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.
The value can be true (hide errors) or false (default, show errors).
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.
Previously, Google News only considered articles with numbers in them to be news articles [2], so this appends ?dpl_id=<id of article> to the end of the urls on the list.
You shouldn't use this option unless you have a good reason to (however it won't hurt anything).
This replaces the showcurid option that is no longer supported.
<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 –
categorysortkeytakma 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: |
- Stable extensions/tr
- Tag extensions/tr
- Parser function extensions/tr
- ParserFirstCallInit extensions/tr
- GPL licensed extensions/tr
- Extensions in Wikimedia version control/tr
- All extensions/tr
- Extensions used on Wikimedia/tr
- Extensions included in Miraheze/tr
- Page content extensions/tr
- Category intersection extensions/tr
