Hallo,
ich benutze die Joom::Gallery bereits seit einiger Zeit. Die MVC-Version ist ein großer Fortschritt, da durch Overwrites die Frontenddarstellung bedeutend besser gesteuert werden kann.
Was ich derzeit leider schmerzlich vermisse (oder nur nicht finde?) ist eine einheitliche globale Thumbnail-Klasse mit eigenem View, die für die Darstellung der Miniaturen von Bildern und Kategorien mit Zusatzinfomationen und Icons zuständig ist. Dass man um eine einheitliche Frontenddarstellung der Gallerieansichten drei sehr ähnliche Views anfassen muss (gallery/default.php, category/default_subcategories.php, category/default_images.php) ist noch zu verschmerzen. Problematisch wird die fehlende Thumbnail-Klasse aber in dem Moment, da man über das Gallery-Plugin joomplu einzelne Bilder oder ganze Kategorien in Beiträge einbinden möchte. Joomplu bezieht die Thumbnails scheint's leider hartcodiert aus der Interface-Klasse. Dabei bleibt die einheitliche Darstellung der Thumbnails aus den angepassten Views der Galerieansichten auf der Strecke.
Gibt's da evtl. einen Workaround?
Anregung:
Erschwerend kommt hinzu, dass einerseits die Galerieansichten selbst, andererseits aber auch die externen Plugins und Module für ein und das selbe Ding (Thumbnailcontainer) stets unterschiedliche CSS-Selektoren definieren. Beim mod_joomimg tritt dies besonders krass hervor, da hier auch noch die Datenbank-ID des Moduls selbst in die CSS-Selektorklasse einfließt: Man muss infolgedessen für jedes einzelne Bildmodul eine eigene CSS-Definition herstellen. Das ist nicht unbedingt kommod. Vielleicht könnte hier durch Einsatz von Mehrfachselektoren Einheitlichkeit gefördert und Flexibilität erhalten bleiben. Die einzelnen, semantisch immer identischen Kindelemente könnten bereits im äußersten DIV ausreichend gekennzeichnet werden und bei der Ausgabe wo notwendig durch Eltern-Kind-Selektoren differenziert behandelt werden, das Ganze schlicht etwas objektorientierter, z.B. so:
...
<div class="jg_thumbnailcontainer jg_elementcat joomimg50_imgct">
<div class="jg_thumbnail_image">
<a>
<img src="bliblablub.png" />
</a>
</div>
<ul class="jg_thumbnail_text">
<li class="jg_photo_title">...</li>
<li class="jg_photo_description">...</li>
<li class="jg_photo_icons">...</li>
</ul>
</div>
...
<style type="text/css" media="screen">
/* globale basisdefinition*/
.jg_thumbnailcontainer{}
.jg_thumbnailcontainer a{}
.jg_thumbnailcontainer .jg_thumbnail_image{}
.jg_thumbnail_image a{}
.jg_thumbnail_image img{}
.jg_thumbnailcontainer .jg_thumbnail_text{}
.jg_thumbnailcontainer .jg_photo_title{}
.jg_thumbnailcontainer .jg_photo_description{}
.jg_thumbnailcontainer .jg_photo_photo_icons{}
/* ggf. spezifische overwrites*/
.jg_thumbnailcontainer.joomimg50_imgct{}
.joomimg50_imgct{} .jg_thumbnail_image{}
..joomimg50_imgct{} .jg_thumbnail_text{}
.joomimg50_imgct{} .jg_photo_title{}
...
</style>
Grüße, Tetrix
PS: Die Bezeichnung mancher CSS-klassen, womöglich namentlich noch dem seligen Mambo entlehnt, sind IMHO etwas irreführend, z.B. sectiontableentry: Da sind weder Bereich noch Tabelle, geschweige denn kann man etwas betreten oder eingeben. Zwar sind Namen nur Schall und Rauch, aber dem Entwickler fällt die Arbeit leichter, wenn er von dem, was er gerade gestaltet zumindest eine vage Vorstellung hat. Vielleicht kann dies insbesondere in der MVC-Version noch berücksichtigt werden, so die Abwärtkompatibilität zu alten CSS-Definitionen kein zwingendes Dogma ist.