Stefans Wiki



DokuWiki Gallery

Ziel

Bilder einer Wikiseite, die in einem vorher festgelegten Namensraum vorliegen, anzeigen. Alle Bilder sollen für die Auswahl als Thumbnails angezeigt werden.

Lösung

Das Template für die Anzeige der Wikiseiten wird so angepasst, das automatisch die Galerie aufgerufen wird, wenn man sich im entsprechenden Namensraum befindet.

Dateien

Installation

Lade das Archiv herunter und entpacke es im Plugin-Verzeichnis des DokuWiki. Dabei wird ein Verzeichnis mit dem Namen dwgallery und den zwei Dateien dwgallery.php und config.php.sample angelegt.

Anschließend füge folgende Zeilen an den Anfang der Datei main.php im Template-Verzeichnis hinzu:

<?php
// include gallery code
include(DOKU_PLUGIN.'dwgallery/dwgallery.php');
?>

Im Anschluß der letzten Zeile sollte dann der Inhalt der main.php mit dem HTML-Code beginnen. Es ist darauf zu achten das zwischen dem Ende des PHP-Codes und dem Anfang des HTML-Codes sich keine Leerzeilen befinden. Ist dies doch der Fall, so kommt es zu Fehlermeldungen weil die HTML-Header nicht mehr korrekt abgearbeitet werden können.

Im Anschluß der Funktion tpl_content() in der Datei main.php muß nun nur noch die Funktion tpl_gallery() eingefügt werden:

<!-- wikipage start -->
<?php tpl_content()?>
<!-- wikipage stop -->
 
<!-- gallery start -->
<?php tpl_gallery()?>
<!-- gallery stop -->

Im Verzeichnis dwgallery befindet sich die Datei config.php.sample. Benenne diese Datei nach config.php um. In dieser Datei werden die Einstellungen - z.B. Anzeigetexte, Thumbnails abspeichern, EXIF oder IPTC nutzen, benutzer Namensraum, … - vorgenommen. Ändere die Datei nach deinen Wünschen ab:

 1: <?php
 2:
 3: // Namensraum der für Galerien vorbehalten ist
 4: $gallery['namespace'] = 'Fotos';
 5:
 6: // Diverse Meldungen
 7: $gallery['nopicture'] = 'Es sind noch keine Bilder vorhanden.';
 8: $gallery['picturename'] = 'Bild #';
 9: $gallery['of'] = 'von';
10: $gallery['content'] = 'Übersicht';
11: $gallery['city'] = 'Ort';
12: $gallery['country'] = 'Land';
13: $gallery['count'] = 'Anzahl der Bilder:';
14:
15: // HTML-Codes
16: $gallery['titlestart'] = '<h2>';                      // Überschrift Start
17: $gallery['titleend'] = '</h2>';                       // Überschrift Ende
18: $gallery['displaystart'] = '<div class="level2">';    // Start der Ausgabe
19: $gallery['displayend'] = '</div>';                    // Ende der Ausgabe
20:
21: $gallery['exif'] = TRUE;                              // EXIF-Unterstützung
22: $gallery['iptc'] = TRUE;                              // IPTC-Unterstützung
23:
24: $gallery['savethumbs'] = FALSE;                       // Thumbnails erstellen und abspeichern
25: $gallery['thumbwidth'] = 100;                         // Breite der Thumbnails
26:
27: $gallery['randomwidth'] = 200;                        // Breiter der Thumbails der Zufallbilder
28: $gallery['index'] = 'index.txt';                      // Liste mit den Zufallsbildern
29:
30: ?>

Benutzung

Im angegebenen Namensraum $gallery['namespace'] wird jetzt jedesmal, nach der Anzeige des Inhaltes der Wikiseite, automatisch die Galerie aufgerufen. Die Galerie wird nicht angezeigt wenn man die Seite bearbeitet oder wenn man sich auf einer „Startseite“ (die in der Konfiguration des DokuWikis mit $conf['start'] angegeben wird) befindet.

In der Galerie werden nur die Bilder angezeigt die mit dem Namen der Seite gefolgt von einem Unterstrich (_) beginnen. Beispiel:

Als Namensraum für die Galerie ($gallery['namespace']) wurde Fotos festgelegt. Befindet man sich nun auf der Wikiseite Fotos:Urlaubsbilder, so zeigt die Galerie alle Bilder im Namensraum Fotos an die mit dem Text Urlaubsbilder_ beginnen, also: urlaubsbilder_01.jpg, urlaubsbilder_02.jpg, urlaubsbilder_a.jpg, urlaubsbilder_feier.jpg, …

Unterhalb des angegeben Namensraum sind auch weitere Namensräume möglich. Um bei dem obigen Beispiel zu bleiben währe eine weitere Unterteilung in der Art Fotos:2004:Urlaubsbilder und Fotos:2005:Urlaubsbilder möglich.

Beim Erkennen der Bildnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Hinweis: Es ist darauf zu achten das die zu anzeigenden Bilder im korrekten Namensraum und mit dem korrekten Anfangstext abgespeichert werden.

Unterstütze Bildformate

  • JPG (Dateiendung .jpg oder .jpeg)
  • PNG
  • GIF

EXIF- und IPTC-Funktionen abschalten

Da nicht jede PHP-Installation EXIF- bzw. IPTC-Funktionen unterstützt, können diese Funktionen im Script deaktiviert werden. Standardmässig führt das Script beide Funktionen aus. Falls man diese jedoch ausschalten will, so kann man dies mit folgendem Eintrag in seiner config.php verwirklichen:

$gallery['exif'] = FALSE; // EXIF-Unterstützung
$gallery['iptc'] = FALSE; // IPTC-Unterstützung

CSS

Das Aussehen der Bilder kann man mit folgenden CSS-Klassen beeinflussen:

  • img.thumb = CSS für die Thumbnails
  • img.thumbactiv = CSS für das Thumbnail (in der Navigation) das gerade in voller Größe angezeigt wird
  • img.photo = CSS für das eigentliche Bild

Beispiel:

img.thumb, img.thumbactiv {
    border:1px solid #000000;
    background-color:gainsboro;
    padding:5px;
    padding-bottom:15px;
    margin:2px;
}
 
img.thumbactiv {
    opacity:0.5;
}
 
img.photo {
    border:1px solid #000000;
    background-color:gainsboro;
    padding:10px;
    padding-bottom:30px;
    margin:2px;
}
 
img.thumb:hover {
    background-color:darkgrey;
}

Änderungen

  • 20.12.2005: Start der Programmierung
  • 24.12.2005: Ausgliederung der Einstellungen in die Datei config.php. Programm auf Webseite veröffentlicht.
  • 31.05.2006: URLs der Links und Bilder werden nun über interne DokuWiki-Funktionen erstellt, behebt somit das Problem von fehlerhaften Links bei speziellen Einstellungen von userewrite.
  • 28.07.2006: Fehler mit Trennzeichen für Parameter in den URLs der Navigation und Thumbnails entfernt. Plugin erkennt nun auch Bilder mit der Endung jpeg.
  • 30.07.2006: Tippfehler der Variabel für das Trennzeichen der Parameter in der URL korrigiert.
  • 31.07.2006: Fehler mit Trennzeichen für Parameter in den URLs nun ebenfalls in den Textlinks unter der Bildansicht korrigiert.
php/dokuwiki/gallery.txt · Zuletzt geändert: 24.03.2011 22:06 (Externe Bearbeitung)
Quelle: http://stefanjahn.de/php:dokuwiki:gallery
Webseite: http://stefanjahn.de