lightbox mehrfach auf einer Seite einbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • lightbox mehrfach auf einer Seite einbinden

    Hallo,
    ich habe ein Platzer mit dem ich ein Bildverzeichnis auslesen kann.
    Die Bilder werden dann mit lightbox angezeigt.

    Das Problem ist jetz die Blätterfunktion. Hier kann ich die zweite Seite nicht anzeigen lassen wenn mehrere Galerien auf einer Seite vorkommen.
    Wenn nur eine Galerie per Platzhalter eingebunden ist funktioniert die Blätterfunktion.

    Hier ist mal der Code der den Platzhalter für eine Galerie verarbeitet.

    PHP-Code:
     
    // Galerie Platzhalter finden und Bildordner anzeigen
    // Bsp: {galerie,ostsee,oslo}
    preg_match_all("/\[galerie:(([^]]+))]/i"$acticon$galeriefund);
    foreach (
    $galeriefund[1] as $albumpara_komp) {
     
    // Für Blätterfunktion 
     
    $limit    6// pro Seite
        
    $offset   0;
        
    $curPage  1;
        
    $entries  0;
        
    $pages    1;
     
    $count   0;
     
     
    $imgfiles = array();
     
     
    // Parameter trennen
       
    $albumpa explode(","$albumpara_komp);
     
       
    // Bilderordner 
     
    if (!empty($albumpa[0])) {
         
    $image_folder1 "$albumpa[0]/";
       }
     
     
    // Unterverzeichniss
     
    if (!empty($albumpa[1])) {
         
    $image_folder2 "$albumpa[1]/";
       }
     
     
    $bild_dir "upload/{$image_folder1}{$image_folder2}";
     
     
    $galerietitel $albumpa[2];
     
     
    // Lehrzeichen entfernen
     
    $bilder_folder str_replace(' ','',$bild_dir);
     
    $image_folder1 str_replace(' ','',$image_folder1);
     
    $image_folder2 str_replace(' ','',$image_folder2);
     
     
    // Bildordner ausgeben     
     
    $galeriecontent ="<h1>$galerietitel:</h1>";
     
     
    $galeriecontent .="<div id='bildkasten'>";
     
     
    // Verzeichnis scannen und bilder ausgeben   
        
    foreach (array_slice(scanDir($bilder_folder), 2) as $file) {
     
      
    $ext explode('.',$file);
            
    $size count($ext);
     
      
    // Erlaubte Dateitypen anzeigen
            
    if (($ext[$size-1] == 'png' || $ext[$size-1] == 'jpg' || $ext[$size-1] == 'gif') && $file != '.' && $file != '..') {
     
       
    // Manuel Thumbnailgröße erstellen
       
    $img_array GetImageSize("{$bilder_folder}{$file}");
     
       if(
    $img_array[0] > $img_array[1]){
        
    $th_width 100;
        
    $th_height = (int)(100 $img_array[1] / $img_array[0]);
       } else {
        
    $th_width = (int)(100 $img_array[0] / $img_array[1]);
        
    $th_height 100;
       } 
     
       
    #####################################
       # Exifdaten suchen
       #####################################
     
       // Section FILE 
       
    if ($exif exif_read_data("{$bilder_folder}{$file}"'FILE')) {
     
        
    // File Date
        
    if($exif["FileDateTime"])
        
    $dateidatumzeit="D:&nbsp;".date("d.m.Y – H:i:s",$exif["FileDateTime"]);
     
       }   
     
       
    // Section IFDO 
       
    if ($exif exif_read_data("{$bilder_folder}{$file}"'IFD0')) {
     
        
    // Bildtitel
        
    if (is_string($exif['Title']) && !empty($exif['Title']) && strlen($exif['Title']) > 3) {
                    
    $Bildtitel $exif['Title'];
                 } else {
         
    $Bildtitel $file;
        }
        
    // aufnahmedatum
        
    $fulldatetime $exif["DateTimeOriginal"]; 
        if (
    $fulldatetime == "") { 
                    
    $processeddatetime ""
        } else { 
                    
    $tmp explode(" ",$fulldatetime);                  // Datum von Uhrzeit trennen (YYYY:MM:DD HH:MM:SS) 
                    
    $time substr($tmp[1], 05);                      // Sekunden abschneiden (HH:MM:SS) 
                    
    $tmp explode(":",$tmp[0]);                        // Datum trennen (YYYY:MM:DD) 
                    
    $date "$tmp[2].$tmp[1].$tmp[0]"
                    
    $processeddatetime "A:&nbsp;$date$time"
        } 
     
               }
     
               
    // GPS Daten aus dem Exif Header lesen
       
    if ($exif exif_read_data("{$bilder_folder}{$file}"'GPS')) {
     
                
    // GPS Latitude 
        
    if($exif["GPSLatitude"]) {    
         
    $a $exif['GPSLatitude'];         
         @eval(
    "\$deg = $a[0]; \$min = $a[1]; \$sec = $a[2];");         
         
    $lat $deg $min 60.0 $sec 3600.0;   
        }
     
        if(
    $exif["GPSLongitude"]){    
         
    $b  $exif['GPSLongitude'];        
         @eval(
    "\$deg = $b[0]; \$min = $b[1]; \$sec = $b[2];");         
         
    $lng $deg $min 60.0 $sec 3600.0;    
        }
     
        
    // Google Map Link und Geokodierung anzeigen   
        
    $gps "Breitengrad: {$lat} Längengrad: {$lng}";
     
       }
     
       
    // Galeriebilder in Array ausgeben     
       
    $imgfiles[$file] = "<div id=\"lichtkasten\"><a href=\"{$bilder_folder}{$file}\" rel=\"lightbox[$albumpa[2]]\" title=\"$albumpa[2]\" 
    class=\"lichtkasten\"><img src=\"
    {$bilder_folder}{$file}\" 
    class=\"bilder\" border=\"0\" alt=\"
    {$Bildtitel}\" width=" $th_width " height= " $th_height " hspace='5' vspace='5'/></a>
    <br>
    {$Bildtitel} <br><small>{$processeddatetime} {$gps}</small></div>\n\n";
       
    $count $count+1
       }
     
      }
     
     
    ###############################################
     # Blätterfunktion
     ###############################################
     
    $entries count($imgfiles); // Dateien zaehlen
     
     // Aufrunden, damit auch die letzte Seite Einträge enthält
        
    $pages ceil($entries $limit);  
        if (isset(
    $_GET['page']) && $_GET['page'] > 0) {
     
      if (
    $_GET['page'] > $pages) {
       
    $_GET['page'] = $pages;
            }
     
          
    $curPage $_GET['page'];
            
    $offset  = ($curPage 1) * $limit;
     
     } 
        
    $relevant array_slice($imgfiles$offset$limit);
        foreach (
    $relevant as $row) {
         
    $galeriecontent .= $row;    
        }
        for (
    $i 1$i <= $pages$i++) {
             if (
    $curPage == $i) {
               
    $galeriecontent .= $i ' ';
              } else {
               
    $galeriecontent .= "[ <a href=\"?$aktion&amp;page=$i\">$i</a> ] ";
             }
        }
     
     
    $galeriecontent .= "<br clear=\"all\" /></div>";
     
     
    // Fundstellen für Bildergalerieen ausgeben 
     
    $muster "/\[galerie:($albumpara_komp)]/i";  
       
    $acticon preg_replace($muster$galeriecontent$acticon);

    Mfg Maffylein

  • #2
    Hm, hat keiner nen Vorschlag oder Idee

    Kommentar


    • #3
      Sieht der generierte HTML-Quellcode ok aus?
      Was sagt die Javascript-Fehlerkonsole im Firefox?
      Wird die Lightbox zweimal eingebunden? Falls ja, ist es kein Wunder, daß es nicht funktioniert.

      Kommentar


      • #4
        Zitat von pekka Beitrag anzeigen
        Sieht der generierte HTML-Quellcode ok aus?
        Was sagt die Javascript-Fehlerkonsole im Firefox?
        Wird die Lightbox zweimal eingebunden? Falls ja, ist es kein Wunder, daß es nicht funktioniert.
        Nun, das habe ich ja so beschrieben.

        Zitat von pekka Beitrag anzeigen
        Wird die Lightbox zweimal eingebunden? Falls ja, ist es kein Wunder, daß es nicht funktioniert.
        Na toll, und woran liegt das Wunder nun, das ich Lightbox nicht mehrmals einbinden kann.

        Mfg Maffylein

        Kommentar


        • #5
          Wenn du das HTML Ergebnis uns gibts können wir dir weiter helfen. Ich glaube nicht das jemand der Anwesenden hier gerne deinen Kompletten Code lesen möchte.

          Paar Sachen zu Leightbox

          - einmal einbinden
          - lightbox[namederbildergallerie]

          es genügt wenn du lightbox einmal einbindest

          um mehrere Gallerien zu benutzten einfach Namen der Bildergallerie ändern

          Beispiel:

          1. Gallerie -> lightbox[gallerie1]
          2. Gallerie -> lightbox[gallerie2]
          usw...

          damit kannst du mehrer gleichzeitig nutzen.

          mfg jura
          [FONT=Comic Sans MS]Hab ich dir erfolgreich geholfen? Wenn ja, dann hilf mir auch und bewerte mich auf php-resource.de[/FONT]
          [FONT=Comic Sans MS]
          [/FONT][FONT=Comic Sans MS]Go and help me[/FONT]

          Kommentar

          Lädt...
          X