Extension:DPLforum
DPLforum Sürüm durumu: kararlı |
|
---|---|
Uygulama | Etiket , Ayrıştırıcı işlevi |
Açıklama | DynamicPageList-based forum software |
Yazar(lar) | Ross McClure |
En son sürüm | 3.6.2 (2019-06-09) |
MediaWiki | 1.25+ |
Veritabanı değişiklikleri | Hayır |
Lisans | GNU Genel Kamu Lisansı 2.0 veya üstü |
İndir | |
Örnek | www.shoutwiki.com Uses Extension:CreateBox |
Translatewiki.net adresinde mevcutsa, DPLforum uzantısını çevirin | |
Sorunlar | Açık görevler · Hata bildir |
DPLforum uzantısı DynamicPageList'den 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, CreateBox 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üzdekiDPLforum
adlı dizine yerleştirin. - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'DPLforum' );
Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
MediaWiki 1.28 veya önceki bir sürümü çalıştıran kullanıcılara:
Yukarıdaki talimatlar, bu eklentiyi wfLoadExtension()
kullanarak kurmanın yeni yolunu açıklar.
Bu uzantıyı önceki sürümlerine (MediaWiki 1.28 ve önceki sürümler) yüklemeniz gerekirse, wfLoadExtension( 'DPLforum' );
yerine kullanmanız gerekir:
require_once "$IP/extensions/DPLforum/DPLforum.php";
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={page} - Kategori kümesine bir kategori ekler. Yalnızca bu kategorilerin her birine ait sayfalar görüntülenecektir.
- notcategory={page} - Dışlama kümesine bir kategori ekler. Bu kategorilerde olmayan sayfalar görüntülenecektir.
- namespace={text} - Aranacak ad alanını belirtir. Yalnızca bir ad alanı belirtilebilir.
- prefix={text} - 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={number} - Listedeki ilk {number} sonuçları hariç tutar.
- count={number} - {number} 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={page} - 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)
- mode=table - Varsayılan. Her girişi
- compact - Bireysel
<td>
etiketlerin uygun olan yerlerde birleştirilmesine izin verir.- compact=author -
Title
veAuthor
hücreleri birleştirir. - compact=editor -
Edit
veEditor
hücreleri birleştirir. - compact=all - İkisini birleştirir.
- compact=author -
- 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={text} - Verilen metni her giriş başlığının başından itibaren çıkarır.
- order=ascending - Sıralama düzenini tersine çevirir.
- newdays={number} -
{number}
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.
#forumlink
ile çoklu sayfa desteği
- 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|Sonraki sayfa}}
Ö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.
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öster
- 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.
Example of usage
Create Templates
To wrap your head around how this extension works, consider the different page areas that a forum usually has (header navigation/bread crumbs, forum index, page body, notices, search input, new topic buttons etc.). To create a standard forum appearance you need to create some templates to match these different parts:
- Template:Forumheader
- Template:Forumpage
- Template:Forumheader/preload
- Template:Forumnotice (optional: text you wish to appear on all the index and subtopic pages to warn users about conduct/rules etc.)
Template:Forumheader
The forum header template can provide breadcrumb navigation for wayfinding and to help users easily return the forum index. In the Forumheader template, place something like the following:
<div class="forum-header"> '''Forums:''' {{#ifeq:{{PAGENAME}}|Index||[[Forum:Index|Index]] '''→'''}} {{#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
The Forumnotice template can provide a notice at the top of the Index and forum pages to remind users of forum rules, reminders, how-to's etc. In the Forumnotice template, place something like the following:
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
This template can be used with the InputBox extension to create a search form on the Forumpage template (to display on all forum pages). In the Forumsearch template, place something like the following:
<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
The Forumpage template can apply the same layout to all forum subtopic pages, including Forumheader, Forumnotice and the input forms used to easily search and create new topics. In the Forumheader template, place something like the following:
{{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
The Forumheader/preload template can be used to create text that appears at the top of the edit mode page of a newly created topic to help new/novice MediaWiki users. In the Forumheader/preload template, place something like the following:
{{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>
Create Pages
After the templates are created you may now put them to use in pages in the Forum namespace. Create the following pages (Index should be named the same as below but following pages may be adapted).
- Forum:Index
- Forum:General Discussion
- Any other forum sections you would like.
Forum:Index Page
This page serves as the forum landing page and index. Create the page and place something like the following:
{{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 (Sub-topic) Page
This page serves as the landing page for the General discussion section and lists all threads under this section. Create the page and place something like the following:
{{Forumheader}} {{Forumpage|This is the place to discuss (your text here)...}} <!-- Add any other info here --> [[Category:Forums]]
Note: Include this type of code on any page created in the forum namespace to style it as a subtopic page.
Adding Styles
The forum features can then be styled by adding styles in Common.css (and adjusting as needed to suit your theme). The corresponding classes specified above are targeted and styled the below example:
/*---- 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.
- All The Tropes. Special:Version.
- AppPedia (archived). Special:Version.
- DDO wiki. Special:Version.
- Memory Alpha, the Star Trek Wiki. Special:Version.
- ShoutWiki. Special:Version. Forum templates.
- The Sims Wiki. Special:Version.
- Tolkien Gateway. Special:Version.
- Uncyclopedia. Special:Version.
- Fandom Community Central. Special:Version.
- Wookieepedia, the Star Wars Wiki. Special:Version.
- Yugipedia. Special:Version.