Seite 1 von 1

Good old Bildmodul mit Lightbox

Verfasst: Mi 11. Apr 2007, 13:17
von Thorsten G.
ich habe das "gute alte Bildmodul" um die Lightbox-Funktionalität erweitert.

Zeigt der hinterlegte Link auf ein jpeg, jpg, gif oder png, wird dieses im Lightbox-Modus geöffnet, vorausgesetzt natürlich, dass Lightbox installiert ist*.

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     Bild(1) 
* Beschreibung:     im Gegensatz zum Originalmodul wird das Bild 
*                           nur dann mit einem Link hinterlegt, wenn auch 
*                           tatsächlich ein Link angegeben wurde 
* Version         :     1.2 - lightbox
* Author          :     irgendwer von 4fb ;-) 
* Created        :     keine Ahnung, 4fb fragen 
* Last Modified :     04-05-2005 by Christa Tabara mit Hilfe von 
*                           Andreas Kummer und emergence :-) 
* Lightbox hinzugefügt von Thorsten G. 
* (all credits to the authors of the original modul and of lightbox)
************************************************/ 

if ("CMS_IMG[1]" != "") { 

    $img = '<img class="image" src="CMS_IMG[1]">'; 

    $imagelink = trim("CMS_LINK[1]"); 

$rel = "";
$values = explode (".", $imagelink);
$ext = $values[1];
if ($ext == "jpeg" or $ext == "jpg" or $ext == "gif" or $ext == "png") {
$rel = "lightbox"; }

    if ($imagelink != "http://" && $imagelink != "" && $imagelink != $cfgClient[$client]["path"]["htmlpath"]) 
      { 
        $img = sprintf('<a href="%s" rel="%s" target="%s">%s</a>',"$imagelink", "$rel", "CMS_LINKTARGET[1]", $img); 
      } 
    else {$img = '<img class="image" src="CMS_IMG[1]" >';} 

    echo $img; 
} 

if ($edit) { 
echo "<br>"; 
echo "CMS_IMGDESCR[1]"; 
echo "<br>"; 
echo "CMS_LINKDESCR[1]"; 
echo "<br>"; 
} 

?>
(*=In den entsprechenden Layouts müssen folgende JS-Aufrufe stattfinden:

Code: Alles auswählen

<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
Und diese Javascripts sowie ein paar images und templates müssen natürlich auch in den entsprechenden Ordnern liegen. Bei der Gelegenheit kann man gleich die wunderbare Lightbox-Bildergallerie von baumpaul installieren, da ist alles mit drin.

Verfasst: Mi 11. Apr 2007, 16:41
von i-fekt
^_^

Verfasst: Do 12. Apr 2007, 09:22
von Thorsten G.
i-fekt hat geschrieben:Bisschen viel Code. Nur um eine simple Lightbox zwei (viel zu große) Bibliotheken einzubinden halte ich für etwas übertrieben.

Stichwort: Thickbox, Greybox o.ä.
Interessanter Hinweis, besten Dank.

Verfasst: Do 12. Apr 2007, 09:41
von i-fekt
^_^

Verfasst: Fr 13. Apr 2007, 08:47
von Thorsten G.
i-fekt hat geschrieben:Ich empfehle dir jQuery, die schlankeste und sehr gute JavaScript-Bibliothek.
Da ich so wie so auf der Site die Bildergallerie von Baumpaul einsetze (die ich nicht missen noch umstricken möchte), habe ich das erstmal so gelassen.

Habe Deine verlinkte Thickbox jedoch auf einer anderen Site im Einstaz, um ein in HTML eingebetteten Flash-Film in einer Lightbox zu zeigen. Das ist groß. Und läuft zumindest schon mal auf IE 6/7 und FF 2.0 - was ja schon immer eine echte Leistung ist. Also: Besten Dank denn, auch.

Gruß
Thorsten

Verfasst: Fr 13. Apr 2007, 09:38
von Thorsten G.
Na gut.

Hier ist das Bildmodul mit der schlanken Thickbox inklusive Bildbeschreibung in der selben:

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     Bild(1) 
* Beschreibung:     im Gegensatz zum Originalmodul wird das Bild 
*                           nur dann mit einem Link hinterlegt, wenn auch 
*                           tatsächlich ein Link angegeben wurde 
* Version         :     1.2 
* Author          :     irgendwer von 4fb ;-) 
* Created        :     keine Ahnung, 4fb fragen 
* Last Modified :     04-05-2005 by Christa Tabara mit Hilfe von 
*                           Andreas Kummer und emergence :-)
* Thickbox dazu : Thorsten G. nach Hinweis von i-fekt
* all credits to the authors of the original modul 
* and of thickbox: http://jquery.com/demo/thickbox/
************************************************/ 

if ("CMS_IMG[1]" != "") { 

    $img = '<img class="image" src="CMS_IMG[1]" alt="CMS_IMGDESCR[1]">'; 

    $imagelink = trim("CMS_LINK[1]");
    $title = "CMS_IMGDESCR[1]";

$class = "";
$values = explode (".", $imagelink);
$ext = $values[1];
if ($ext == "jpeg" or $ext == "jpg" or $ext == "gif" or $ext == "png") {
 $class = "thickbox"; }

    if ($imagelink != "http://" && $imagelink != "" && $imagelink != $cfgClient[$client]["path"]["htmlpath"]) 
      { 
        $img = sprintf('<a href="%s" class="%s" title="%s" target="%s">%s</a>',"$imagelink", "$class", "$title", "CMS_LINKTARGET[1]", $img); 
      } 
    else {$img = '<img class="image" src="CMS_IMG[1]" >';} 

    echo $img; 
} 

if ($edit) { 
echo "<br>"; 
echo "CMS_IMGDESCR[1]"; 
echo "<br>"; 
echo "CMS_LINKDESCR[1]"; 
echo "<br>"; 
} 

?>
In den entsprechenden Layouts müssen folgende JS-Aufrufe stattfinden:

Code: Alles auswählen

<script type="text/javascript" src="path-to-file/jquery.js"></script>
<script type="text/javascript" src="path-to-file/thickbox.js"></script>
Und - so das Stylesheet nicht in das bestehende eingefügt werden soll:

Code: Alles auswählen

<link rel="stylesheet" href="path-to-file/thickbox.css" type="text/css" media="screen" />
Die Dateien gibt es hier zum Download.

XHTML Konformität

Verfasst: Mo 27. Aug 2007, 05:51
von ClemensSchnitzler
Ich habe das Bildmodul aus diesem Thread eingebaut und bekomme über dem XHTML-Validator folgende Rückmeldung:

Code: Alles auswählen

#  Error  Line 80, Column 82: required attribute "alt" not specified.

….eu/cms/upload/bilder/IMGP0607.jpg" />

✉

The attribute given above is required for an element that you've used, but you have omitted it. For instance, in most HTML and XHTML document types the "type" attribute is required on the "script" element and the "alt" attribute is required for the "img" element.

Typical values for type are type="text/css" for <style> and type="text/javascript" for <script>.
Ich finde leider nicht die entsprechende Stelle wo ich das Alt-attribute hierfür spezifieren kann. Deshalb meine Bitte an die Community: wie bekomme ich das gelöst?

Vielen Dank und viele Grüsse

Clemens

Verfasst: Do 30. Aug 2007, 10:09
von ClemensSchnitzler
Nach langem hin und her und vielen Test habe ich das Problem nun lösen können.

Gruß

Clemens

Verfasst: Di 18. Nov 2008, 01:32
von mauerblume
Ich habe das Modul mit der Thickbox in eine 4.8.8 Installation eingebaut, leider wird aber die Bildbeschreibung, die in der Dateiverwaltung eingegeben wurde nicht mit ausgegeben?

Wird die Beschreibung bei 4.8.8 irgendwie anders gehandhabt?

Medienname geht auch nicht, habe eigentlich schon alles durchprobiert.

Gibt es eine Lösung?


Danke

Verfasst: Di 18. Nov 2008, 01:44
von mauerblume
AAAAHH!!!

Denkfehler, es wird ja die CMS_IMGDESCR[1] ausgeben,

das ist ja die Bildbeschreibung, die man im Backend direkt im Artikel, also beim Einfügen des Bildes eingibt.


Tschuldigung. Ist schon spät, ich war blind.


Gäbe es denn die Variante, dass die Bildbeschreibung aus der Dateiverwaltung übernommen wird?
Bei der Lightbox-Galerie ist das ja der Fall.

Danke.