Good old Bildmodul mit Lightbox

Gesperrt
Thorsten G.
Beiträge: 124
Registriert: Do 14. Jul 2005, 22:37
Kontaktdaten:

Good old Bildmodul mit Lightbox

Beitrag von Thorsten G. » Mi 11. Apr 2007, 13:17

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.
Zuletzt geändert von Thorsten G. am Fr 13. Apr 2007, 08:49, insgesamt 1-mal geändert.

i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt » Mi 11. Apr 2007, 16:41

^_^
Zuletzt geändert von i-fekt am Do 21. Okt 2010, 11:55, insgesamt 1-mal geändert.
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)

Thorsten G.
Beiträge: 124
Registriert: Do 14. Jul 2005, 22:37
Kontaktdaten:

Beitrag von Thorsten G. » Do 12. Apr 2007, 09:22

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.

i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt » Do 12. Apr 2007, 09:41

^_^
Zuletzt geändert von i-fekt am Do 21. Okt 2010, 11:55, insgesamt 1-mal geändert.
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)

Thorsten G.
Beiträge: 124
Registriert: Do 14. Jul 2005, 22:37
Kontaktdaten:

Beitrag von Thorsten G. » Fr 13. Apr 2007, 08:47

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

Thorsten G.
Beiträge: 124
Registriert: Do 14. Jul 2005, 22:37
Kontaktdaten:

Beitrag von Thorsten G. » Fr 13. Apr 2007, 09:38

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.

ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

XHTML Konformität

Beitrag von ClemensSchnitzler » Mo 27. Aug 2007, 05:51

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

ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

Beitrag von ClemensSchnitzler » Do 30. Aug 2007, 10:09

Nach langem hin und her und vielen Test habe ich das Problem nun lösen können.

Gruß

Clemens

mauerblume
Beiträge: 89
Registriert: Do 12. Feb 2004, 20:42
Wohnort: Niederlausitz
Kontaktdaten:

Beitrag von mauerblume » Di 18. Nov 2008, 01:32

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
Zuletzt geändert von mauerblume am Di 18. Nov 2008, 02:00, insgesamt 1-mal geändert.
*********************************
Contenido-Konstruktionen von 4.2 bis 4.8.X

mauerblume
Beiträge: 89
Registriert: Do 12. Feb 2004, 20:42
Wohnort: Niederlausitz
Kontaktdaten:

Beitrag von mauerblume » Di 18. Nov 2008, 01:44

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.
*********************************
Contenido-Konstruktionen von 4.2 bis 4.8.X

Gesperrt