Jump to content

Extension:DPLforum

From mediawiki.org
This page is a translated version of the page Extension:DPLforum and the translation is 100% complete.
MediaWiki manüel uzantıları
DPLforum
Sürüm durumu: kararlı
Uygulama Etiket , Ayrıştırıcı işlevi
Açıklama DynamicPageList tabanlı forum yazlımı
Yazar(lar) Ross McClure
En son sürüm 3.7.2 (2022-09-13)
MediaWiki 1.25+
Veritabanı değişiklikleri Hayır
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
Örnek www.shoutwiki.com Extension:InputBox kullanır
Quarterly downloads 7 (Ranked 133rd)
Public wikis using 5,794 (Ranked 39th)
Translatewiki.net adresinde mevcutsa, DPLforum uzantısını çevirin
Sorunlar Açık görevler · Hata bildir

DPLforum uzantısı DynamicPageList üzerinden uyarlanmıştır ve forum tarzı düzenleri görüntüler.

Sürüm 3.0'daki yeni özellikler arasında yazar listeleri, kavram ekran ve tam çok sayfalı destek sayılabilir. Sürüm 3.1, InputBox ile daha iyi bir birlikte çalışabilirlik için önek eşleşmesini sunar.

DPLforum ayrıca Forum yeni bir ad alanı (ve onun tartışma alanı) sunar; varsayılan olarak, bu ad alanının sayısal dizini 110.

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki DPLforum 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/DPLforum
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'DPLforum' );
    
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

Parametreler

DPLforum burada gösterildiği gibi, satır sonu ayrılmış atama listesi biçimindeki parametreleri bekler.

<table><forum>
 category=CategoryName
 parameter1=value
 parameter2=value
 </forum></table>

İçerik parametreleri

category={sayfa} Kategori kümesine bir kategori ekler. Yalnızca bu kategorilerin her birine ait sayfalar görüntülenecektir.
notcategory={sayfa} Dışlama kümesine bir kategori ekler. Bu kategorilerde olmayan sayfalar görüntülenecektir.
namespace={metin} Aranacak ad alanını belirtir. Yalnızca bir ad alanı belirtilebilir.
prefix={metin} Başlıkla eşleşecek bir önek belirtir. Yalnızca başlıkları belirtilen önekle başlayan sayfalar görüntülenir. (3.1 sürümündeki yenilikler)
start={sayı} Listedeki ilk sayı sonuçları hariç tutar.
count={sayı} sayı fazladan sonuç listelemez. Halen 50 sonuçla sınırlıdır, ancak bu parametre belirtilmezse sonuçlar 50 ile sınırlı değildir.
title={sayfa} Belirtilirse bu nesne verilen sayfaya forum tarzı bir bağlantı haline gelir. Diğer parametreler hala geçerlidir.

Yapısal parametreler

mode Çıkış modunu belirtir.
  • mode=table - Varsayılan. Her girişi ‎<tr> bloğunda görüntüler. ‎<table> etiketleri dahil değildir, böylece her tabloya özel özellikler verilebilir.
  • mode=list - Her girişi ‎<li> bloğunda görüntüler. Yukarıdaki gibi, ‎<ol> veya ‎<ul> gibi etiketler kullanılmaz.
  • mode=none - Yalnızca ‎<br>...‎</br> etiketiyle girişleri ayırır.
  • mode=count - Yalnızca verilen parametrelerle eşleşen giriş sayısını döndürür. (3.2 sürümündeki yenilikler)
compact Bireysel ‎<td> etiketlerin uygun olan yerlerde birleştirilmesine izin verir.
  • compact=author - Title ve Author hücreleri birleştirir.
  • compact=editor - Edit ve Editor hücreleri birleştirir.
  • compact=all - İkisini birleştirir.
addcreationdate=true Her girişin oluşturma tarihini gösterir.
addauthor=true Her girişin orijinal yazarını görüntüler.
addlasteditor=true Her girişin son düzenleyicisini görüntüler.
addlastedit=false Her girişin son düzenleme zamanını gizler; varsayılan olarak gösterilir.

Çıkış parametreleri

ordermethod Girişlerin listelenme sırasını belirtir.
  • ordermethod=lastedit - Varsayılan. Girişleri en son düzenlendikleri sıraya göre sıralar.
  • ordermethod=created - Girdileri oluşturuldukları sırada sıralar.
  • ordermethod=pageid - Girişleri kimlik numaralarına göre sıralar; genellikle created eşittir.
historylink Her girişin geçmişine bir bağlantı sağlar.
  • historylink=embed - Düzenle alanını bir geçmiş bağlantısına dönüştürür.
  • historylink=append - Geçmiş bağlantısını Düzenle alanına ekler.
omit={metin} Verilen metni her giriş başlığının başından itibaren çıkarır.
order=ascending Sıralama düzenini tersine çevirir.
newdays={sayı} sayı günden az bir süre önce değiştirilmiş girişlere yapılan tüm bağlantıları class="forum_new" ile işaretler; varsayılan olarak 7'dir.
timestamp=false Zaman damgası değerlerini sayfa bağlantılarından kaldırır. Zaman damgaları yeni düzenlenen girişlerin "ziyaret edildi" bağlantıları olarak görünmemesini sağlar.
cache=true Bu nesnenin sonuçlarını ayrıştırıcı önbelleğine kaydeder. DPLForum::requireCache, true olarak ayarlanmadıkça bu varsayılan olarak false olur.

<span id="Multipage_support_with_#forumlink">

#forumlink ayrıştırıcı işlevi, forum listelerini belirli bir miktarda telafi eden mevcut sayfaya bağlantılar oluşturur. Bu her forumun herhangi bir sayıda ek "sayfa" içermesini sağlar. Sözdizimi aşağıdaki gibidir:

{{#forumlink:count|page|text}}
count sayfa başına konu sayısını gösterir.
page sayfa numarasını mutlak bir değer veya göreceli bir uzaklık olarak belirtir.
text bağlantı metnini ayarlar. Boş bırakılırsa, sayfa numarası kullanılır.

Göreceli ofsetler ve sayfa koşulları

Sayfayı belirlerken, sayıdan önce + veya - gelirse, o zaman o anki konumdan göreceli bir kayma olduğu varsayılır. 1'den küçük sayfalara bağlanan göreceli bağlantılar görüntülenmez.

İsteğe bağlı olarak görüntülenmek için sayfanın yerine getirmesi gereken sayfa numarasından sonra da bir koşul belirleyebilirsiniz.

Örneğin, o sayfa 10'dan küçük olduğunda sonraki sayfaya bir bağlantı belirtmek için şunu kullanın:

{{#forumlink:30|+1<10|Next page}}

Önceki sayfaya bir bağlantı (count=50 varsayarsak):

{{#forumlink:50|-1>0|Previous page}}

ParserFunctions ile birlikte, son sayfaya ulaştığınızda görüntülenmeyecek bir sonraki sayfanın bağlantısı olacaktır: (count=50, category ve notcategory içinde belirtilen yalnızca bir kategori kullanılmaz):

{{#forumlink:50|+1<{{#expr: ceil ({{PAGESINCATEGORY:{{PAGENAME}}|R}}/50) +1 }}|Next page}}

Koşullar <, <=, > ve >= operatörlerini kullanabilir.

Note: For multipage functionality to work correctly, the cache property must be set to false

MediaWiki mesajları

DPLforum, MediaWiki'de altı mesajı belirtir: ad alanı.

MediaWiki:Dplforum-by "tarafından" kelimesini ve ardından $1 (bir kullanıcının adıdır)
MediaWiki:Dplforum-desc Uzantının açıklaması olarak Special:Version sayfasında gösterin
MediaWiki:Dplforum-never Kelime "Asla".
MediaWiki:Dplforum-edited "Son düzenleme". Tablo modunda değilken başlığı ayırır ve düzenler.
MediaWiki:Dplforum-toofew Hiçbir kategori verilmediğinde hata mesajı görüntüleniyor.
MediaWiki:Dplforum-toomany Çok fazla kategori verildiğinde hata mesajı görüntüleniyor. Bu eşik DPLForum::maxCategories tarafından kontrol edilir.

Özelleştirme

Şablonlar kullanıcı mesajlarıyla birlikte geleneksel bir forum görünümü vermek için kullanılabilir.

Örnek kullanımı

Şablonlar oluşturun

Bu uzantının nasıl çalıştığını anlamak için, bir forumun genellikle sahip olduğu farklı sayfa alanlarını (başlık gezinme/ekmek kırıntıları, forum dizini, sayfa gövdesi, bildirimler, arama girişi, yeni konu düğmeleri vb.) düşünün. Standart bir forum görünümü oluşturmak için bu farklı bölümlere uygun bazı şablonlar oluşturmanız gerekir:

  • Template:Forumheader
  • Template:Forumpage
  • Template:Forumheader/preload
  • Template:Forumnotice (isteğe bağlı: kullanıcıları davranış/kurallar vb. hakkında uyarmak için tüm dizin ve alt konu sayfalarında görünmesini istediğiniz metin.)

Template:Forumheader

Bu şablon, yol bulma için kırıntı gezintisi sağlayabilir ve kullanıcıların forum dizinini kolayca döndürmelerine yardımcı olabilir. Forumheader şablonuna aşağıdakine benzer bir şey yerleştirin:

<div class="forum-header">
'''Forums:''' {{#ifeq:{{PAGENAME}}|Index||[[Forum:Index|Index]] '''&rarr;'''}}
{{#if:{{#if:{{{1|}}}||1}}{{#ifeq:{{{1}}}|$1|1}}|{{PAGENAME}}|[[Forum:{{{1}}}|{{{1}}}]]}}
</div>{{#ifeq:{{NAMESPACE}}|{{ns:110}}|{{#if:{{{1|}}}|[[Category:{{{1}}}]]}}}}<noinclude>
</noinclude>

Template:Forumnotice

Bu şablon, kullanıcılara forum kurallarını, hatırlatıcıları, nasıl yapılırı vb. hatırlatmak için 2 doların ve forum sayfalarının üst kısmında bir bildirim sağlayabilir. Forumnotice şablonuna aşağıdakine benzer bir şey yerleştirin:

Please note (your text here). 

* '''Do not''' post ... (your text here)
* Individual topic threads can be put on your watchlist. 
* Enable email notifications in [[Special:Preferences|your preferences]].
* ''View [{{fullurl:Special:Recentchanges|namespace=110&limit=500}} recent changes for all topics in all forums]. Choose [{{fullurl:Special:Recentchanges|namespace=110&limit=500&days=14}} 14], [{{fullurl:Special:Recentchanges|namespace=110&limit=500&days=30}} 30], or [{{fullurl:Special:Recentchanges|namespace=110&limit=500&days=60}} 60] days for older changes.''
* ''You may have to [{{fullurl:{{FULLPAGENAME}}|action=purge}} purge] this page to see changes below.''

Template:Forumsearch

Bu şablon, Forumpage şablonunda (tüm forum sayfalarında görüntülemek için) bir arama formu oluşturmak için InputBox uzantısıyla birlikte kullanılabilir. Bu şablonda aşağıdakine benzer bir şey yerleştirin:

<div class="inputbox-sidebar">
<inputbox>
type=fulltext
width=40
namespaces=Forum**,Help
searchbuttonlabel=Search
</inputbox>
</div><noinclude>[[Category:Forum templates]][[Category:Search templates]]</noinclude>

Template:Forumpage

Bu şablon, Forumheader, Forumnotice ve yeni konuları kolayca aramak ve oluşturmak için kullanılan giriş formları dahil olmak üzere tüm forum alt konu sayfalarına aynı düzeni uygulayabilir. Bu şablonda aşağıdakine benzer bir şey yerleştirin:

{{Forumsearch}}
<div class="inputbox-sidebar">
<inputbox>
buttonlabel=Add new topic
prefix=Forum:
preload=Template:Forumheader/preload
preloadparams[]={{PAGENAME}}
type=create
width=40
</inputbox></div>
{{{1|}}}
{{Forumnotice}}
{| class="forum-table" style="clear: right; width: 100%"
! Topic !! Last edit
<forum>
namespace=Forum
category={{PAGENAME}}
shownamespace=false
addauthor=true
addlasteditor=true
historylink=true
compact=all
timestamp=true
cache=false
</forum>
|}

Template:Forumheader/preload

Bu şablon, yeni/acemi MediaWiki kullanıcılarına yardımcı olmak için yeni oluşturulan bir konunun düzenleme modu sayfasının üstünde görünen metin oluşturmak için kullanılabilir. Bu şablonda aşağıdakine benzer bir şey yerleştirin:

{{Forumheader|$1}}
<!-- Write your message below these instructions (leave the instructions here) -->
<!-- At the end, please sign your message by placing 4 tilde characters in a row: ~~~~ -->
<!-- Replies are added below the post by adding one colon (:) for each indent level at the front of the reply -->
<noinclude>
[[Category:Forum templates]]
[[Category:Preload templates]]
</noinclude>

Sayfa oluştur

Şablonlar oluşturulduktan sonra, artık bunları Forum ad alanındaki sayfalarda kullanmak üzere koyabilirsiniz. Aşağıdaki sayfaları oluşturun (Index aşağıdaki gibi adlandırılmalıdır, ancak aşağıdaki sayfalar uyarlanabilir).

  • Forum:Index
  • Forum:General Discussion
  • İstediğiniz diğer forum bölümleri.

Forum:Index sayfası

Bu sayfa, forum açılış sayfası ve dizin işlevi görür. Sayfayı oluşturun ve aşağıdakine benzer bir şey yerleştirin:

{{DISPLAYTITLE:Wiki Forum}}
{{Forumheader}}
{{Forumsearch}}
Welcome to the (your site) forums! 
{{Forumnotice}}
{| class="forum-table" style="width: 100%;"
! Forum !! Last Edit
|-
<forum><!-- General Discussion Section -->
namespace=Forum
category=General Discussion
title=Forum:General Discussion
shownamespace=false
addauthor=true
addlasteditor=true
compact=all
timestamp=true
cache=false
</forum><!-- End General Discussion Section -->
<forum><!-- Editing Help Section -->
namespace=Forum
category=Editing Help
title=Forum:Editing Help
shownamespace=false
addauthor=true
addlasteditor=true
compact=all
timestamp=true
cache=false
</forum><!-- Editing Help Section -->
|}
[[Category:Forums]]

Forum:General Discussion (alt konu) sayfası

Bu sayfa, Genel tartışma bölümü için giriş sayfası görevi görür ve bu bölüm altındaki tüm iletilerini listeler. Sayfayı oluşturun ve aşağıdakine benzer bir şey yerleştirin:

{{Forumheader}}
{{Forumpage|This is the place to discuss (your text here)...}}
<!-- Add any other info here -->
[[Category:Forums]]

Not: Bir alt konu sayfası olarak biçimlendirmek için forum ad alanında oluşturulan herhangi bir sayfaya bu tür kodu ekleyin.

Stil ekleme

Forum özellikleri daha sonra MediaWiki:Common.css cinsinden stiller eklenerek (ve temanıza göre gerektiği gibi ayarlanarak) şekillendirilebilir. Yukarıda belirtilen ilgili sınıflar, aşağıdaki örnekte hedeflenir ve stillendirilir:

/*---- DPL Forum ----*/
/* Forumheader style */
.forum-header {
	border: 1px solid #aaa; 
	background-color: #cedff2; 
	margin: 0 0 1em; 
	padding: 0 0.5em;
}
/* Forum table outside border */
table.forum-table {
	border: 1px solid lightgrey;
}
/* Forum table cell padding and borders for all table body cells */
table.forum-table > tbody > tr > td {
	border-top: 1px solid lightgrey;
	padding: 8px;
}
/* Forum table background color (show on odd rows) */
table.forum-table > tbody > tr {
	background-color:#fff;
}
/* Forum table background color (shows on even rows) */
table.forum-table > tbody > tr:nth-child(even) {
	background-color:#f5faff;
}
/* Forum table header row background, style and padding */
table.forum-table > tbody > tr > th {
	background-color:#cedff2;
	font-weight:bold;
	padding: 8px;
}

/*-- InputBox --*/
.inputbox-sidebar {
	width: 300px; 
	border: 1px solid lightgrey; 
	clear: right; 
	float: right; 
	margin: 3px; 
	padding:10px;
	margin-left: 2em;
}

Bu uzantıyı kullanan vikiler

Extension:DPLforum - WikiApiary sayfasına bakın. Bu uzantıyı kullanarak vikileri listeler.

Alfabetik bağlantılar doğrudan ana forum dizinine gider. MediaWiki ve DPLforum'un hangi sürümünün kullanıldığını görmek için, her site için Special:Version sayfasına bakın. Special:SpecialPages genellikle çoğu vikinin kenar çubuğundan (araç kutusunda) bağlanır. Special:Version olan "Sürüm" bağlantısını bulmak için Special:SpecialPages sayfasına gidebilirsiniz. Forum şablonu kategorilerine bazı bağlantılar ayrıca aşağıda listelenmiştir.