Hier noch ein paar Probleme und Fehler, die ich mit jm_gallery 0.7.0 hatte:
(1)
Wenn man keine unterschiedlichen Download-Versionen verwendet: d. h.
plugin.tx_jmgallery_pi1.versions =
dann wird der Platzhalter ###IMAGE_DOWNLOADS### falsch gerendert und die Originalaufloesung des Bildes gleich zweimal zum Download angeboten, z. B. 244x346|244x346
Ursache: In class.tx_jmgallery_view_Single.php wird in der Funktion display() die Schleife
while (list(, $resolution) = each($versions)) { ... }
offenbar auch bei $versions="" durchlaufen.
Workaround (rough & dirty): Ich habe um die while-Schleife noch eine zusaetzlich if-Bedingung gelegt:
if ($this->conf['versions']<>"") {
while (list(, $resolution) = each($versions)) {
...
}
}
(2)
Ich wollte meine Fotos in der Album-Uebersicht statt mit dem Dateinamen mit einer Id-Nummer bezeichnen, die folgendermassen aus der Albumnummer und der Bildnummer zusammengesetzt ist: ###ALBUM_UID###/###IMAGE_UID###. Das funktioniert aber nicht: ###ALBUM_UID### bleibt leer.
Ursache: In class.tx_jmgallery_view_Album.php, Zeile 106, wird der Platzhalter ###ALBUM_UID### durch einen leeren String ersetzt, da $this->_GP["albumUid"] keinen Wert liefert:
Workaround (rough & dirty): Ich habe
$marks["###ALBUM_UID###"] = $this->_GP["albumUid"];
ersetzt durch:
$marks["###ALBUM_UID###"] = $album->getUid();
Aber Achtung: Ich weiss nicht, ob das in allen Kontexten problemlos moeglich ist.
(3)
Die Angaben zum Titel und Untertitel eines Albums unterscheiden sich im Admin-Interterface je nachdem, ob man Listenansicht mit allen Alben oder ob man die Bearbeitungsansicht fuer ein Album oeffnet:
z. B. Listenansicht:
Urlaub 2005: Untertitel von Urlaub 2005 7 Bilder
Urlaub 2006: Untertilte von Urlaub 2006 9 Bilder
Bearbeitungsansicht fuer Album Urlaub 2005:
Allgemeines:
Album Titel: Mein Urlaub 2005
Album Untertitel: Neuer Untertitel von Urlaub 2005
Ursache: Titel und Untertitel werden in der DB zweimal, in zwei unterschiedlichen Tabellen gespeichert:
In tx_jmgallery_albums und in tx_jmgallery_album_properties. Aus _albums werden Titel und Untertitel bei der Admin-Listenanzeige geholt, aus _properties bei der Admin-Einzelansicht.
Loesung: Die doppelte Speicherung von Titel und Untertitel sollte man in der DB-Architektur des Plugins eliminieren. Mir leuchtet ohnehin nicht ein, warum die _properties in einer eigenen Tabelle und nicht innerhalb der _albums Tabelle gespeichert werden, da es sich hier doch wohl um eine 1:1 Relation handelt. Allzu viele Tabellen machen das Plugin fehleranfaellig - wie man sieht.
(4)
Wenn man ein neues Album im FE anlegt, erhaelt das Download-Verzeichnis fuer die Bilder den Namen des Albums. Das ist zwar uebersichtlich, kann aber leicht zu Problemen mit dem Verzeichnisnamen fuehren, z. B. dann, wenn der Albumtitel Umlaute enthaelt. Beispiel: Das Album hat den Namen "Süße Köstlichkeiten". In diesem Fall ist es sehr wahrscheinlich, dass kein einziges Bild gefunden wird.
Workaround (rough & dirty): Ich habe class.tx_jmgallery_controller_Admin.php so veraendert, dass das Downloadverzeichnis die Uid-Nummer des Albums erhaelt. Eine schnelle Moeglichkeit, dies zu erreichen besteht darin, nach $album->create(); in Zeile 398 folgendes einzufuegen:
$album->directory = rtrim ($this->conf["admin."]["basePath"], '/') . '/' .$album->uid;
$album->update();
$this->checkDirectory(rtrim ($this->conf["admin."]["basePath"], '/') . '/' .$album->uid);
Dadurch wird der Verzeichnisname auf die Album-Uid gesetzt.
Das hat auch den weiteren Vorteil, dass bei gleichem Albumname von zwei unterschiedlichen Alben die Bilder nicht in dasselbe Verzeichnis kopiert werden - wie es jetzt wohl der Fall ist!
(4a)
Umlaute in den Dateinamen von Bildern machen dieselben Probleme wie in den Titeln von Alben (= Verzeichnisnamen). Da ich das Plugin in einem Kontext einsetzten moechte, in dem unterschiedliche Redakteure Alben einrichten und Bilder hochladen koennen, kann man nicht darauf vertrauen, dass alle Nutzer nur unproblematische Dateinamen oder Albentitel verwenden.
(5)
Es gibt noch eine Reihe von Fehlermeldungen, die man besser abfangen koennte/sollte: Z. B. wenn man in der Admin-Ansicht die Eigenschaften eines Albums (z. B. Albumtitel) aendern moechte und auf "Aktualisieren" klickt, aber noch kein Cover-Foto ausgewaehlt wurde, kommt folgendes:
Fatal error: Call to a member function on a non-object in /typo3conf/ext/jm_gallery/pi1/class.tx_jmgallery_controller_Admin.php on line 256