ShoogleList: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „{{Infobox Projekt |name = ShoogleList |status = stable |autor = schinken |beschreibung = Mediawiki Kategorieliste |image …“) |
|||
Zeile 16: | Zeile 16: | ||
Die Extension ist während der Arbeit an der jetzigen Homepage (aka. Projekt Kiwi) entstanden. | Die Extension ist während der Arbeit an der jetzigen Homepage (aka. Projekt Kiwi) entstanden. | ||
+ | |||
+ | == Funktionsweise == | ||
+ | |||
+ | MediaWiki-Parser reagiert auf den Hook "shoogle" und ruft die Funktion "hookShoogle" auf. Diese Funktion bekommt als Parameter bereits den Inhalt zwischen den shoogle-Tag, sowie die Argumente übergeben. | ||
+ | |||
+ | Die Extension läd nun alle Artikel inklusive Text aus der Datenbank, welche der Kategorie "CategoryName" zugewiesen sind. Zurzeit werden nur Artikel geladen, die <strong>direkt</strong> in der Kategorie "CategoryName" liegen. Unterstützung für Sub-Kategorien ist geplant. | ||
+ | |||
+ | Anschliessend werden per RegEx aus der "Infobox Projekt" die Attribute "name", "image" und "beschreibung" gelesen, und falls sie nicht existieren durch den default ersetzt. Im Fall von "name" ist dies der Titel der Artikelseite. | ||
+ | |||
+ | Aus den gelesenen Attributen wird nun die Liste als HTML-Code generiert. Leider hat mediawiki hierfür keine Template-Engine, und der HTML-Code muss direkt in den PHP-Code geschrieben werden. | ||
== Einbindung == | == Einbindung == | ||
Zeile 26: | Zeile 36: | ||
Falls für einen Artikel keine Projektbox existiert, oder die Attribute nicht gesetzt sind, werden die Attribute "DefaultImage" und "DefaultDescription" verwendet. | Falls für einen Artikel keine Projektbox existiert, oder die Attribute nicht gesetzt sind, werden die Attribute "DefaultImage" und "DefaultDescription" verwendet. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Installation == | == Installation == |
Version vom 2. Juli 2012, 09:34 Uhr
ShoogleList Status: stable | |
---|---|
Beschreibung | Mediawiki Kategorieliste |
Autor: | schinken |
Version | 1 |
PayPal |
Beschreibung
ShoogleList ist eine MediaWiki-Extension, welche Artikel in einer Kategorie auflistet. Für die Auflistung werden die Attribute der Infobox-Projekt geparsed, und für die Darstellung verwendet.
Die Extension ist während der Arbeit an der jetzigen Homepage (aka. Projekt Kiwi) entstanden.
Funktionsweise
MediaWiki-Parser reagiert auf den Hook "shoogle" und ruft die Funktion "hookShoogle" auf. Diese Funktion bekommt als Parameter bereits den Inhalt zwischen den shoogle-Tag, sowie die Argumente übergeben.
Die Extension läd nun alle Artikel inklusive Text aus der Datenbank, welche der Kategorie "CategoryName" zugewiesen sind. Zurzeit werden nur Artikel geladen, die direkt in der Kategorie "CategoryName" liegen. Unterstützung für Sub-Kategorien ist geplant.
Anschliessend werden per RegEx aus der "Infobox Projekt" die Attribute "name", "image" und "beschreibung" gelesen, und falls sie nicht existieren durch den default ersetzt. Im Fall von "name" ist dies der Titel der Artikelseite.
Aus den gelesenen Attributen wird nun die Liste als HTML-Code generiert. Leider hat mediawiki hierfür keine Template-Engine, und der HTML-Code muss direkt in den PHP-Code geschrieben werden.
Einbindung
Um ShoogleList zu verwenden muss es nur über einen Tag angesprochen werden. Dieser sieht wiefolgt aus:
<shoogle defaultimg="my default image.png" defaultdesc="my default description">CategoryName</shoogle>
Dadurch wird die Kategorie "CategoryName" indiziert, und ausgegeben.
Falls für einen Artikel keine Projektbox existiert, oder die Attribute nicht gesetzt sind, werden die Attribute "DefaultImage" und "DefaultDescription" verwendet.
Installation
Wechseln in den mediawiki/extensions-Ordner:
cd /var/www/mediawiki/extensions
ShoogleList aus dem repository auschecken:
git clone https://github.com/Schinken/shooglelist.git
oder per tar-ball:
wget 'https://github.com/Schinken/shooglelist/tarball/master' -O ShoogleList.tar.gz tar cvfz ShoogleList.tar.gz
Eintragen in die LocalSettings.php (/var/www/mediawiki)
include_once("$IP/extensions/ShoogleList/ShoogleList.php");
Sonstiges
Den Code findest du hier: [1]