Bildergalerie mit Bildbeschreibung und "Vor-zurück-Funk

Gesperrt
Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Bildergalerie mit Bildbeschreibung und "Vor-zurück-Funk

Beitrag von Andreas »

Hallo zusammen,
ich verwende die einfache Bildergalerie (ohne Imagemagick - Code siehe unten).
Funktioniert auch tadellos (Version 4.4).
Was mir allerdings fehlt sind zwei Funktionen, die die Galerie perfekt für kleine Auftritte machen würde:

1. Anzeige der Bildbeschreibung in der "großen" Darstellung (nicht bei den Thumbnails)

2. Eine "Vor-" und "Zurück-" Funktion, die es ermöglicht zwischen den einzelnen Bildern zu blättern, ohne immer wieder zurück zur Übersicht zu müssen.

Habe schon viel ausprobiert und im Forum gesucht....
Leider ohne Erfolg...

Hat jemand eine Idee oder vielleicht bereits das Modul soweit anpassen können?

Hier das Modul:
Input:

Code: Alles auswählen

$selected = "CMS_VALUE[0]"; 

echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\"> 
        <tr valign=\"top\"> 
          <td>Einzelbild-Seite</td> 
           <td> 
            <select name=\"CMS_VAR[0]\">"; 

echo "<option value=1 "; 
if ($selected == 1){ 
   echo " selected "; 
} 
echo ">PopUp-Fenster</option>"; 
echo "<option value=0 "; 
if ($selected == 0){ 
   echo " selected "; 
} 
echo ">diese Seite</option>"; 

echo "</select>"; 
echo "      </td> 
</tr> 
        <tr> 
        <td> 
        Image-Directory: 
       </td> 
            <td> 
          <input size=20 type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"> 
   </td> 
     </tr> 

        <tr> 
        <td> 
        Thumbnail-Directory: 
       </td> 
            <td> 
          <input size=20 type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"> 
   </td> 
     </tr> 
                
        <tr> 
        <td> 
        Image-Dateieendung (z.B. .jpg;.gif): 
       </td> 
            <td> 
          <input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\"> 
   </td> 
     </tr> 

        <tr> 
        <td> 
         Thumbnailtabelle in Spalten x Zeilen: 
       </td> 
            <td> 
          <input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\"> 
   </td> 
     </tr> 
        

        <tr> 
        <td> 
         Thumbnailgr&ouml;sse in XxY: 
       </td> 
            <td> 
          <input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\"> 
   </td> 
     </tr> 

        <tr> 
        <td> 
        Pfad zum ImageMagick (optional): 
       </td> 
            <td> 
          <input size=20 type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\"> 
   </td> 
     </tr> 
        
      </table>"; 

// ENDE INPUT 
Und der Output:

Code: Alles auswählen

<script language="JavaScript"> 
function boo(){ 
} 
</script> 

<div class="htmltext"> 
<? 

// Bildergalerie 
// Imageresize über ImageMagick *ODER* GD 
// Version: 15.01.2004 
// 
// Author: ?? 
// Modified by: Robert Strouhal www.clearcreative.de 




echo "<p>\n"; 

// ANFANG OUTPUT 

$imagedir="CMS_VALUE[2]"; 
$thumbnails="CMS_VALUE[3]"; 
$imagetypes=explode(";","CMS_VALUE[4]"); 
$rows="CMS_VALUE[6]"; 
$cols="CMS_VALUE[5]"; 

$thb_x_size="CMS_VALUE[7]"; 
$thb_y_size="CMS_VALUE[8]"; 

$image_idcat="CMS_VALUE[0]"; 
$image_idside="CMS_VALUE[1]"; 

$im_path="CMS_VALUE[9]"; 


//-- config ende ------------------------------------- 

function is_image($filename,$typearray) { 
  reset($typearray); 
  while($val=each($typearray)) { 
     if (strstr($filename,$val[value])!==false) { 
       return true; 
     } 
  } 
} 


// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat) 
// Seitenverhältnisse werden beibehalten 
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){ 
   $source = ImageCreateFromJpeg($sourceFile); 
   $width  = ImageSx($source); 
   $height = ImageSy($source); 

   if ($width > $height){ // Querformat 
      $newheight = $height*($newwidth/$width); 
   }else{ // Hochformat 
      $newwidth  = $width*($newheight/$height); 
   } 

   $target = ImageCreateTrueColor($newwidth,$newheight); 
   imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 

   ImageJPEG($target,$targetFile,100); 
} 



//-- functions ende ---------------------------------- 

if (!isset($mmstart)) { 
  $mmstart=0; 
} 

// Anzeige eines Bildes oder Übersicht? 

if ($subfile!="") { 
// Bild anzeigen 
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>"; 
echo "<br>"; 
echo "<img src=\"$subfile\">"; 
echo "<br>"; 
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>"; 

} else { 
// Gallery anzeigen 

$handle=opendir($imagedir); 

echo "<table>"; 
$n=0; 
$filearray=Array(); 
while (false !== ($file = readdir($handle))) { 
        if ($file != "." && $file != ".." && is_image($file,$imagetypes)) { 
             $filearray[]=$file; 
        } 
} 

reset($filearray); 

// skip images... 
for ($n=0;$n<$mmstart;$n++) 
  $ffile=each($filearray); 
$n=0; 
while ($ffile=each($filearray)) { 
             $file=$ffile[value]; 
             // generate thumbnail, if nessesairy. Now THIS is fun :) 
             // natuerlich nur, wenn imagemagick vorhanden ist... 
            if (!file_exists($thumbnails."/thb_".$file) ) { 
               if ($im_path!="") { 
                 $cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file; 

                 exec($cmd); 
                 // nochmal prüfen! 
                 $thumbnail=file_exists($thumbnails."/thb_".$file); 
                } else{ 
                 // Bilder mit GD verkleinern 
             @ini_set("max_execution_time", 120); 
                 @resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size); 
                 $thumbnail=file_exists($thumbnails."/thb_".$file); 
                } 
            } else 
              $thumbnail=true; 
            if ($n%$cols==0) 
              echo "<tr>\n"; 
            if ($image_idcat!=0){ 
// Bilder in PopUp anzeigen 
$imageSize = getimagesize($imagedir."/".$file); 
$js = " onClick=\"javascript:window.open('".$imagedir."/".$file."','','height=".($imageSize[1]+30).",width=".($imageSize[0]+30)."')\" "; 
$url = "javascript:boo();";    
            }else{ 
              $url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file)); 
$js = ""; 
              } 

            echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"$url\" $js>".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>\n"; 
            $n++; 
            if ($n%$cols==0) 
              echo "</tr>\n"; 


        // nur solange wie's not tut... 
        if ($n>=$rows*$cols) 
          break; 

    } 
echo "<tr> <td colspan=\"$cols\" align=\"center\">"; 

if ($mmstart>0) { 
  $url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols)); 
  echo "<a href=\"$url\">&laquo;</a>"; 
} 

echo "<span style=\"font-size: 9pt;\">| Images".($mmstart+1)." - ".($mmstart+$n)." |</span>"; 

if ($n+$mmstart<count($filearray)) { 
  $url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols)); 
  echo "<a href=\"$url\">&raquo;</a>"; 
} 

echo "</tr>\n"; 
echo "</table>"; 
} // Ende Gallery anzeigen 


echo "</p>"; 
?> 
</div> 
Vielen Dank im voraus.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

schau mal da lösungsansätze...
-> http://www.contenido.de/forum/viewtopic ... 5986#25986
*** make your own tools (wishlist :: thx)
ixepter
Beiträge: 65
Registriert: So 11. Jan 2004, 12:08
Kontaktdaten:

Beitrag von ixepter »

Also das mit der Bildbeschreibung gibts bereits. Musst nur unter der Dateiverwaltung einen Kommentar zum jeweiligen Bild schreiben.
Aber zurzeit gibts die perfekte Gallery für Contenido leider noch nicht...
werde mich aber in den Ferien auch mal wieder dem Thema anehmen.
Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist »

smile, ich habe gerade die andere Bildgallerie (nun der zweite Threat unter Module)
http://contenido.de/forum/viewtopic.php ... sc&start=0

eingebaut.
funkt soweit Klasse....(letzten eintrag von mir beachten wenns Errors gibt.
GD >2.0 ist allerdings wünschenswert :) )

Ich kann Euch verraten, dass "jemand" die noch erweitert (Stefan knuff)

- Pulldown erweiterung zu "diese Seite" um "Popup"
- Popup dann mit "close on click"
- evtl. Checkbox "Beschreibung" (aus der Dateiverwaltung) im PopUp anzeigen
- "back/next" erweiterung bei der ausgabe in "diese Seite"

Die "Sau" legt dann zwar noch keine Eier aber nen Pelz hat sie dann zumindest :lol:

Greets
TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -
Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist »

Nachtrag:

funkt aber nur mit .JPG weil die GD >2.0 keine Gifs unterstützt

wenn man das aber weiss.... :)
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -
SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader »

Zeitgeist hat geschrieben:smile, ich habe gerade die andere Bildgallerie (nun der zweite Threat unter Module)
http://contenido.de/forum/viewtopic.php ... sc&start=0

eingebaut.
funkt soweit Klasse....(letzten eintrag von mir beachten wenns Errors gibt.
GD >2.0 ist allerdings wünschenswert :) )

Ich kann Euch verraten, dass "jemand" die noch erweitert (Stefan knuff)

- Pulldown erweiterung zu "diese Seite" um "Popup"
- Popup dann mit "close on click"
- evtl. Checkbox "Beschreibung" (aus der Dateiverwaltung) im PopUp anzeigen
- "back/next" erweiterung bei der ausgabe in "diese Seite"

Die "Sau" legt dann zwar noch keine Eier aber nen Pelz hat sie dann zumindest :lol:

Greets
TimeSpirit
jojo, aber zunächst muß ich erstmal mich wieder um die bw-internen module hier kümmern, sonst gibts schläge ;) setz mich aber die Tage daran.

so long

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x
Gesperrt