Extension:DPLforum
État de la version : stable |
|
|---|---|
| Implémentation | Balise, Fonction d'analyseur |
| Description | logiciel de forum basé sur DynamicPageList |
| Auteur(s) | Ross McClure |
| Dernière version | 3.7.2 (2022-09-13) |
| MediaWiki | 1.25+ |
| Modifie la base de données |
Non |
| Licence | Licence publique générale GNU v2.0 ou ultérieur |
| Téléchargement | |
| Exemple | www.shoutwiki.com Utilise Extension:InputBox |
| Traduire l’extension DPLforum sur translatewiki.net si elle y est disponible | |
| Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension DPLforum est adaptée de DynamicPageList et affiche des mises en page de style forum.
Les nouvelles fonctionnalités de la version 3.0 comprennent les listes d'auteurs, l'affichage compact et le support complet multi-pages. La version 3.1 introduit la correspondance du préfixe pour une meilleure interopérabilité avec InputBox.
DPLforum introduit également un nouvel espace de noms, Forum (et son espace de discussion); par défaut, l'indice numérique de cet espace de noms est 110.
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
DPLforumdans votre dossierextensions/.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/DPLforum
- Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'DPLforum' );
Fait – Accédez à Special:Versionsur votre wiki pour vérifier que l'extension a bien été installée.
Paramètres
DPLforum attend des paramètres sous la forme d'une liste de tâches séparées par un passage à la ligne, comme indiqué ici.
<table><forum> category=CategoryName parameter1=value parameter2=value </forum></table> |
Paramètres de contenu
category={page}
|
Ajoute une catégorie à l'ensemble des catégories. Seules les pages appartenant à chacune de ces catégories seront affichées. |
notcategory={page}
|
Ajoute une catégorie à l'ensemble des exclusions. Les pages qui ne sont pas dans ces catégories seront affichées. |
namespace={texte}
|
Indique l'espace de noms dans lequel chercher. Un seul espace de noms peut être spécifié. |
prefix={texte}
|
Indique le préfixe à détecter dans le titre. Seules les pages dont les titres commencent par le préfixe spécifié seront affichées. (Nouveau dans la version 3.1) |
start={nombre}
|
number est le nombre de résultats à sauter au début de la liste. |
count={nombre}
|
number est le nombre maximum de résultats. Actuellement limité à 50 résultats, mais les résultats ne sont pas limités à 50 si ce paramètre n'est pas spécifié. |
title={page}
|
Si spécifié, cet objet devient un lien de style forum vers la page donnée. Les autres paramètres restent toujours applicables. |
Paramètres structurels
mode
|
Indique le mode de sortie.
|
compact
|
Allows for individual <td> tags to be combined together where appropriate.
|
addcreationdate=true
|
Displays each entry's date of creation. |
addauthor=true
|
Displays the original author of each entry. |
addlasteditor=true
|
Displays the last editor of each entry. |
addlastedit=false
|
Hides each entry's last edit time; shown by default. |
Paramètres de sortie
ordermethod
|
Specifies the order in which entries are listed.
|
historylink
|
Provides a link to each entry's history.
|
omit={text}
|
Omits the given text from the beginning of each entry's title. |
order=ascending
|
Reverses the sort order. |
newdays={number}
|
Marks all links to entries modified less than number days ago with class="forum_new"; defaults to 7.
|
timestamp=false
|
Removes timestamp values from the page links. Timestamps ensure that newly-edited entries don't appear as "visited" links. |
cache=true
|
Saves the results of this object to the parser cache. This is false by default unless DPLForum::requireCache is set to true.
|
Support multipage avec #forumlink
The #forumlink parser function creates links to the present page which offset the forum listings by a certain amount.
This allows each forum to contain any number of additional "pages".
The syntax is as follows:
{{#forumlink:count|page|text}}
| count | represents the number of topics per page. |
| page | specifies the page number, either as an absolute value or a relative offset. |
| text | sets the link text. If this is left blank, the page number is used instead. |
Décalages relatifs et conditions de page
When specifying the page, if the number is preceded by + or -, then it is assumed to be a relative offset from the present position. Relative links which would link to pages less than 1 are not displayed.
You may also optionally specify a condition after the page number, which the page must meet in order to be displayed.
For example, to specify a link to the next page when that page is less than 10, use:
{{#forumlink:30|+1<10|Next page}}
A link to the previous page (assuming count=50):
{{#forumlink:50|-1>0|Previous page}}
In conjunction with ParserFunctions, a link to the next page, that won't be displayed when you reach the last page, would be (assuming count=50, only one category specified in category and notcategory is not used):
{{#forumlink:50|+1<{{#expr: ceil ({{PAGESINCATEGORY:{{PAGENAME}}|R}}/50) +1 }}|Next page}}
Conditions may use the <, <=, >, and >= operators.
Note: For multipage functionality to work correctly, the cache property must be set to false
Messages MediaWiki
DPLforum specifies six messages in the MediaWiki: namespace.
| MediaWiki:Dplforum-by | The word "by", followed by $1 (which is the name of a user) |
| MediaWiki:Dplforum-desc | Show on Special:Version as the extension's description |
| MediaWiki:Dplforum-never | The word "Never". |
| MediaWiki:Dplforum-edited | "Last edited". Separates the title and edit when not in table mode. |
| MediaWiki:Dplforum-toofew | Error message displayed when no categories are given. |
| MediaWiki:Dplforum-toomany | Error message displayed when too many categories are given. This threshold is controlled by DPLForum::maxCategories. |
Personnalisation
Templates can be used to give a traditional forum appearance with user posts.
- Example
– User:Inquisitor Ehrenstein/LQTavatar
Exemple d'utilisation
Création de modèles
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
This 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
This 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 this 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
This 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 this template, place something like the following:
| Contenu étendu |
|---|
{{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
This 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 this 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>
Création de 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.
Page Forum:Index
This page serves as the forum landing page and index. Create the page and place something like the following:
| Contenu étendu |
|---|
{{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]]
|
Page Forum:General Discussion (sub-article)
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.
Ajouter des styles
The forum features can then be styled by adding styles in MediaWiki:Common.css (and adjusting as needed to suit your theme). The corresponding classes specified above are targeted and styled the below example:
| Contenu étendu |
|---|
/*---- 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;
}
|
Wikis qui utilisent cette extension
See Extension:DPLforum - WikiApiary. It lists wikis using this extension.
The alphabetical links go directly to the main forum index. See Special:Version for each site to see what version of MediaWiki and DPLforum is being used. Special:SpecialPages is usually linked from the sidebar of most wikis (in the toolbox). You can go to Special:SpecialPages to find the link to "Version" which is Special:Version. Some links to forum template categories are also listed below.
- All The Tropes. 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.
| Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : |
- Stable extensions/fr
- Tag extensions/fr
- Parser function extensions/fr
- ParserFirstCallInit extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- All extensions/fr
- Extensions included in Fandom/fr
- Extensions included in Miraheze/fr
- Extensions included in wiki.gg/fr
- Discussion and forum extensions/fr
