jQuery Lightbox und Thumbnail Plugins für b2evolution 3.x

Wenn Ihr grad so wie ich mein b2evolution von 2.x auf Version 3.x aktualisiert habt, dann werdet Ihr feststellen, dass das Lightbox Plugin nicht mehr funktioniert. Das liegt an der alten Prototype Library, die mit jQuery kollidiert. Das Thumbnail Plugin ist ebenfalls betroffen, weil es denselben Code verwendet für die integrierte Lightbox. Nach ein paar Stunden murksen hab ich nun eine brauchbare Lösung gefunden, die nur eine kleine Änderung am Lightbox Plugin erfordert und trotzdem Thumbnails zulässt.

Als aller erstes richte man den Thumbnailer so ein, dass er Bilder mit einem Link ins aktuelle Fenster versieht. Das muss sein, weil die Lightbox sonst das Thumbnail aufruft. Die Checkbox fürs Lightbox Plugin muss deaktiviert werden.

Nun muss das alte Lightbox Plugin deinstalliert und durch das jQuery Lightbox Plugin ersetzt werden. Download hier: http://sourceforge.net/projects/evocms-plugins/files/jquery_lightbox_plugin/

Das neue Lightbox Plugin reagiert auf alle Bilder, die in "image_block" DIVs eingeschlossen sind und lässt sich nicht abschalten. Das sollte man wissen und beim bloggen auch beachten. Will man dem Bild einen eigenen Link hinterlegen, muss das DIV entfernt werden. Das Plugin ersetzt nämlich Links in den Image DIVs mit der Adresse des Originalbildes und hängt seine eigene Klasse rein.

Damit das Zusammenspiel mit dem Thumbnail Plugin funktioniert, muss folgender Code in _jquery_lightbox.plugin.php angepasste werden.

 
Original Code (2x vorhanden, beide ersetzen!):

$(function() {
$(\'.image_block img\').wrap(\'\');
$(\'.image_block a\')
.each(function(i){$(this).attr(\'title\', $(this).children(\'img\').attr(\'title\'))})
.each(function(i){$(this).attr(\'href\', $(this).children(\'img\').attr(\'src\'))})

 
ersetzen durch:

$(function() {
/*$(\'.image_block img\').wrap(\'\');*/
$(\'.image_block a\')
.each(function(i){$(this).attr(\'title\', $(this).children(\'img\').attr(\'title\'))})
/*.each(function(i){$(this).attr(\'href\', $(this).children(\'img\').attr(\'src\'))})*/

 
Das deaktiviert die Anpassung der Links, sodass immer das Originalbild aufgerufen wird und nicht ein Thumbnail. Sollte das jetzt nicht funktionieren, muss der Page Cache geleert werden. Dafür gibt's einen Eintrag im Adminbereich unter "Werkzeuge".

Ich hab das selbe auch im b2evo Forum gepostet: http://forums.b2evolution.net/viewtopic.php?p=99676#99676

Das Endergebnis seht Ihr hier auf dieser Webseite.