Extension:DynamicPageList (Wikimedia)

From mediawiki.org
This page is a translated version of the page Extension:DynamicPageList (Wikimedia) and the translation is 93% complete.
MediaWiki manüel uzantıları
DynamicPageList
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
  • $wgDLPmaxCategories
  • $wgDLPMaxCacheTime
  • $wgDLPAllowUnlimitedResults
  • $wgDLPAllowUnlimitedCategories
  • $wgDLPQueryCacheTime
  • $wgDLPMaxResultCount
  • $wgDLPMaxQueryTime
‎<DynamicPageList>
Public wikis using 813 (Ranked 314th)
DynamicPageList (Wikimedia) uzantısını çevirin
Sorunlar Açık görevler · (Wikimedia) Hata bildir
Bu uzantı Wikimedia tarafından kullanılır, Extension:DynamicPageList (third-party) veya Extension:DynamicPageList3 ile karıştırılmamalıdır.

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üzdeki intersection adlı 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' );
    
  • Yes 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ı require_once 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.

qualitypages

qualitypages Extension:FlaggedRevisions kullanılırken kaliteli ('pristine' düzeyde işaretlenmiş) sayfaların dahil edilip edilmeyeceğini belirler. Değer, exclude (listeleme), include (hem kaliteli hem de kaliteli olmayanları listeleyin) veya only (yalnızca liste kaliteli sayfaları) olabilir.

Not: qualitypages davranışın eski sürümlerden değişmiştir. Eski sürümlerde qualitypages=exclude otomatik olarak yapılan stablepages=only ayarlanmalıdır. Artık durum böyle değil.

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
  • sortkeycategorysortkey 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. DynamicPageList (third-party) , 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.
  • Version 1.8.4 of DynamicPageList (third-party) is fully downward compatible with the extension described here. So the way is open for a re-unification of the different development paths. This is not true any more for the current versions since version 2.01 of DynamicPageList (third-party) does not support ordermethod=sortkey.
  • Extension:DynamicPageListEngine - dinamik sayfa listelerini Scribunto modüller için kullanılabilir hale getirir.