schachbulle / contao-digiviewer-bundle
Digitaler Betrachter für Bildsammlungen mit Blätterfunktion, Zoom, Drehung und Vorschauleiste.
Package info
github.com/Samson1964/contao-digiviewer-bundle
Type:contao-bundle
pkg:composer/schachbulle/contao-digiviewer-bundle
Requires
- php: ^8.1
- contao/core-bundle: ^4.13 || ^5.0
- symfony/config: ^5.4 || ^6.4 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.4 || ^7.0
- symfony/http-kernel: ^5.4 || ^6.4 || ^7.0
Requires (Dev)
- contao/manager-plugin: ^2.0
Suggests
None
Provides
None
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
Replaces
None
This package is auto-updated.
Last update: 2026-11-04 10:15:03 UTC
README
Digitaler Betrachter für Bildsammlungen — etwa eingescannte Zeitschriften, Chroniken oder Urkunden. Der Besucher blättert durch die Bilder, zoomt stufenweise hinein und springt über eine aufklappbare Vorschauleiste direkt zu einer Seite. Unter dem Betrachter erscheinen die je Bild hinterlegten Texte (etwa per OCR erkannte Inhalte), damit die Contao-Suche und Suchmaschinen die Bildinhalte erfassen können.
Als Anzeige-Engine dient der DigiViewer von Joerg Breitbart (GPL), der auf der JavaScript-Bibliothek prototype.js aufbaut. Beide Dateien liegen dem Bundle bei; es werden keine fremden Server kontaktiert.
Voraussetzungen
- Contao 4.13 oder 5.x
- PHP 8.1 oder neuer
Installation
Über den Contao Manager (Paket schachbulle/contao-digiviewer-bundle) oder
per Composer:
composer require schachbulle/contao-digiviewer-bundle
Anschließend den Datenbank-Abgleich im Install-Tool bzw. über
contao:migrate ausführen.
Nutzung
- Backend: Unter Inhalte → DigiViewer eine Bildsammlung anlegen. Je Sammlung lassen sich Anzeigebreite und -höhe des Betrachters, die Breite der Vorschauleiste sowie die Zoomstufen (in Prozent, durch Komma getrennt) und der Standardzoom festlegen.
- Der Sammlung Bilder hinzufügen. Die Reihenfolge wird per Verschieben bestimmt; je Bild kann ein Textinhalt (z. B. OCR-Text) hinterlegt werden.
- Frontend: Ein Modul vom Typ DigiViewer-Bildsammlung anlegen, die Sammlung auswählen und das Modul in einen Artikel oder ein Layout einbinden.
Hinweise
- Der Betrachter arbeitet mit festen Element-IDs, deshalb ist nur ein DigiViewer je Seite möglich.
- Bildgrößen: Angezeigt wird nicht das Original, sondern eine vom
Contao-Bild-Studio verkleinerte Fassung, die in 1200×1850 Pixel passt.
Ihre Maße gelten als 100 % der Zoomstufen. Erst beim Zoom über 100 % lädt
der Betrachter das Original nach; zusätzlich steht unter dem Betrachter je
Seite ein Verweis auf das Original. Die Verkleinerungen entstehen beim
ersten Aufruf unter
assets/images/— bei großen Scans braucht PHP dafür genügend Arbeitsspeicher (memory_limit). - Schmale Bildschirme: Wäre die Seite beim Standardzoom breiter als der Rahmen, startet der Betrachter mit der größten Zoomstufe, bei der die Seitenbreite hineinpasst. Passt auch die kleinste nicht (etwa auf dem Handy), ergänzt er eine eigene Stufe „auf Breite“ vorne in der Auswahl.
- Das Bundle bindet prototype.js 1.6 ein. Getestet ist das Zusammenspiel mit
jQuery (Zugriff über
jQuery(…), wie in den Contao-Templates üblich) und MooTools 1.6. Skripte, die sich auf das Kurzzeichen$von jQuery verlassen, kollidieren mit prototype.js.
Wenn eine Sammlung leer bleibt
Statt der Bilder erscheint „Diese Bildsammlung enthält keine veröffentlichten Bilder.“ Den genauen Grund nennt das Modul an drei Stellen:
- als HTML-Kommentar
<!-- DigiViewer: … -->im Quelltext der Seite, - im Contao-Systemprotokoll (Backend → System → Systemprotokoll),
- sichtbar unter dem Betrachter, wenn man im selben Browser im Backend angemeldet ist.
Mögliche Gründe: im Modul ist keine Sammlung gewählt, die gewählte Sammlung gibt es nicht, sie ist nicht veröffentlicht, sie enthält keine Bilder, keines ist veröffentlicht, oder keines lässt sich anzeigen (UUID in der Dateiverwaltung unbekannt oder Datei fehlt). Einzelne nicht anzeigbare Bilder werden ebenfalls gemeldet und sind in der Backend-Liste rot markiert.
In der Frontend-Vorschau zeigt der Betrachter auch Unveröffentlichtes.
Prüfstand
tools/pruefstand.php führt das Modul gegen eine echte Contao-Installation
aus, ohne dass das Bundle dort installiert sein muss. Er legt Tabellen,
Testbilder und Datensätze (IDs ab 90000) an und prüft Anzeige, Fehlerfälle
und Backend-Liste:
C:\xampp\php\php.exe tools\pruefstand.php F:/Claude/contao-test
Umstieg von der Contao-3-Erweiterung
Die Datenbanktabellen (tl_digiviewer, tl_digiviewer_items) und der
Modultyp digiviewer_collection sind unverändert — bestehende Sammlungen und
Module einer umgestellten Installation laufen ohne Nacharbeit weiter. Das
alte Verzeichnis system/modules/digiviewer muss entfernt werden.
Lizenz
- PHP-Code des Bundles: LGPL-3.0-or-later
- DigiViewer-JavaScript-Bibliothek (
digiviewer.js): GPL, © 2007 Joerg Breitbart - prototype.js: MIT, © 2005–2007 Sam Stephenson