Lightbox-Bildergalerie

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Beitrag von Spider IT » Do 2. Okt 2008, 08:33

Ich würde es einfach mal ausprobieren :)
Nimm doch einfach mal die 2 Zeilen für den SlideShow raus und teste ob es dann geht.

Gruß
René

kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Hilfe bei der Bildernavi

Beitrag von kenzo » Do 30. Okt 2008, 09:44

Hi an alle,

habe jetzt schon mehrmals die ganzen 20 Seiten gelesen und auf die Frage, wie die Navigation bei den Thumbs verändert werden kann, keine Antwort gefunden.
Gestellt wurde die Frage schon zweimal am Anfang des Threads und ich habe auch gesehen, das einige von Euch eine veränderet navi im Einsatz haben, aber wie wurde das realisiert?

Im Moment gibt es ja nur ein vor und zurück als Standard.
Wer kann mir bitte posten, was ich tun muss, damit ich die Navo so hinbekomme:

wie bei BagHira

@BagHira : ich wollte nicht unaufgefordert eine PM schicken


http://www.handgewickelte-glasperlen.de/

Seite y von x

Anfang |< 1 2 3 4... >| Ende

In dieser Galerie sind nn Bilder enthalten.

Danke Euch im Voraus

Kenzo

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: Hilfe bei der Bildernavi

Beitrag von BagHira » Do 30. Okt 2008, 15:06

kenzo hat geschrieben: @BagHira : ich wollte nicht unaufgefordert eine PM schicken


http://www.handgewickelte-glasperlen.de/

Seite y von x

Anfang |< 1 2 3 4... >| Ende

In dieser Galerie sind nn Bilder enthalten.
Hallo kenzo,

hättest schon schreiben können, dafür ist die Funktion ja da :-)

Hab jetzt keine ahnung ob ich da was an dem Input geändert habe, deswegen hier der In- & Ouput. der Rest sollte eigentlich Original sein...

Input:

Code: Alles auswählen

?>
<table>
  <tr>
    <td><?php echo mi18n("Breite").' x '.mi18n("H&ouml;he"); ?></td>
    <td><input type="text" name="<?php echo "CMS_VAR[0]"; ?>" value="<?php echo "CMS_VALUE[0]"; ?>" style="width:40px;"> x <input type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo "CMS_VALUE[1]"; ?>" style="width:40px;"></td>
  </tr><tr>
    <td><?php echo mi18n("Spalten");?> x <?php echo mi18n("Zeilen");?></td>
    <td><input type="text" name="<?php echo "CMS_VAR[2]"; ?>" value="<?php echo "CMS_VALUE[2]"; ?>" style="width:40px;"> x <input type="text" name="<?php echo "CMS_VAR[3]"; ?>" value="<?php echo "CMS_VALUE[3]"; ?>" style="width:40px;"></td>
  </tr>
  <?php
  $sql = "SELECT DISTINCT dirname FROM ".$cfg['tab']['upl']." ORDER BY dirname";
  $db->query($sql);
  echo '<tr><td>'.mi18n("Verzeichnis ausw?hlen").'</td><td>
		<select name="CMS_VAR[4]" size="1" style="width: 320px">
			<option value="">'.mi18n("Nichts ausgew?hlt").'</option>';
			while ($db->next_record()) {
				if ( stristr($db->f("dirname"),'CVS/') === FALSE ) {
					if ($db->f("dirname")=="CMS_VALUE[4]") {
						echo '<option value="'.$db->f("dirname").'" selected="selected">'.$db->f("dirname").'</option>';
					} else {
						echo '<option value="'.$db->f("dirname").'">'.$db->f("dirname").'</option>';
					}
				}
			}
	echo '</select></td></tr>';?>

<?php
$sort = "";
if("CMS_VALUE[5]" == "asc" || "CMS_VALUE[5]" == "") {
 $asc = " checked";
} else {
 $desc = " checked";
}
?>
	<tr>
    	<td><?php echo mi18n("Sortierrichtung");?></td>
		<td>
			<input type="radio" name="CMS_VAR[5]" value="asc"<?php echo $asc; ?>> <?php echo mi18n("Aufsteigend"); ?>
			<input type="radio" name="CMS_VAR[5]" value="desc"<?php echo $desc; ?>> <?php echo mi18n("Absteigend"); ?>
		</td>
	</tr><tr>
    <td><?php echo mi18n("Zeichenanzahl");?></td>
    <td><input type="text" name="<?php echo "CMS_VAR[6]"; ?>" value="<?php echo "CMS_VALUE[6]"; ?>" style="width:40px;"></td>
  </tr>
</table>
<?php

Output:

Code: Alles auswählen

<?php

cInclude("includes", "functions.api.images.php");

/* Gallery variables */
$bRecursive = false;

/* Input variables */
$iWidth = "CMS_VALUE[0]";
$iHeight = "CMS_VALUE[1]";
if ($iWidth == 0) {
  $iWidth = 300;
}
if ($iHeight == 0) {
  $iHeight = 300;
}

$iColumns = "CMS_VALUE[2]";
if ($iColumns == 0) {
  $iColumns = 2;
}

$iRows = "CMS_VALUE[3]";
if ($iRows == 0) {
  $iRows = 2;
}

$sPath = "CMS_VALUE[4]";
if ($sPath=='') {
    $sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "bildergalerie/";
} else {
    $sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "CMS_VALUE[4]";
}

$sort = "CMS_VALUE[5]";
if( $sort == "asc" ) {
    $sort = SORT_ASC;
} else {
    $sort = SORT_DESC;
}

$words = "CMS_VALUE[6]";

if (isset($_REQUEST["start"])) {
  $iCurrentPage = $_REQUEST["start"];
} else {
  $start = 1;
  $iCurrentPage = 1;
  $_REQUEST["start"] = 1;
}

$aValidExtensions = array("jpg", "jpeg", "gif", "png");

$iImagesPerPage = $iRows * $iColumns;

/* Read all gallery files */
$aGalleryFiles = scanDirectory($sPath, $bRecursive);
array_multisort($aGalleryFiles, $sort, SORT_STRING);

if (is_array($aGalleryFiles)) {
    /* Filter out non-images */
    foreach ($aGalleryFiles as $key => $aGalleryFile) {
        $sExtension = strtolower(getFileExtension($aGalleryFile));
        if (!in_array($sExtension, $aValidExtensions)) {
            unset($aGalleryFiles[$key]);
        }
    }
    
    /* Calculate effective variables */
    $iFileCount = count($aGalleryFiles);
    $iPages = ceil($iFileCount / $iImagesPerPage);
    
    $aImagesToDisplay = array_slice($aGalleryFiles, ($iCurrentPage - 1) * $iImagesPerPage, $iImagesPerPage);
    
    $oImageTpl = new Template;
    $oGalleryTpl = new Template;
    $oEmptyImageTpl = new Template;
    
    $aRenderedImages = array();
    
    $iRow = 0;
    $iImagesRendered = 0;
    
    foreach ($aImagesToDisplay as $sImageToDisplay) {
        /* Do Scaling */
        $sScaledImage = cApiImgScale($sImageToDisplay, $iWidth, $iHeight);
        $sScaledImage = str_replace($cfgClient[$client]["path"]["htmlpath"],"",$sScaledImage);
        
        $link = str_replace($cfgClient[$client]['path']['frontend'],$cfgClient['htmlpath'],$sImageToDisplay);
        
        $media_name = ig_getMedienName($sImageToDisplay);
        
        $link_description = ig_getImageDescription($sImageToDisplay);
        
        if ($words != "" || $words != 0) {
                     # Cutting text but preserving words and entities
         if(strlen($link_description) > $words){
            $description = htmlentities(capiStrTrimAfterWord($link_description, $words)."...");
         } else {
            $description = "";
         } 
        }
        
      if( $media_name != "" && $link_description != "") {
         $link_description = $media_name.': '.$link_description;
      } elseif( $media_name != "" ) {
         $link_description = $link_description;
      } elseif( $description != "" ) {
         $link_description = $link_description;
         $media_name = "&nbsp;";
      }
        
        $oImageTpl->reset();
        $oImageTpl->set("s", "FILE", $sScaledImage);
        $oImageTpl->set("s", "WIDTH", $iWidth);
        $oImageTpl->set("s", "HEIGHT", $iHeight);
        $oImageTpl->set("s", "LINK", $link);
        $oImageTpl->set("s", "MEDIANAME", $media_name);
        $oImageTpl->set("s", "DESCRIPTION", $description);
        $oImageTpl->set("s", "LINKDESCRIPTION", $link_description);
        
        $aRenderedImages[] = $oImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_image.html", true, false);
        
        $iImagesRendered++;
        
        if ($iImagesRendered == $iColumns) {
            $oGalleryTpl->set("d", "COLUMNS", implode("", $aRenderedImages));
            $oGalleryTpl->next();
            $iImagesRendered = 0;
            $aRenderedImages = array();
        }
    }
    
    if (count($aRenderedImages) < $iColumns && count($aRenderedImages) > 0) {
        $iEmptyCells = $iColumns - count($aRenderedImages);
        
        $oEmptyImageTpl->set("s", "WIDTH", $iWidth);
        $oEmptyImageTpl->set("s", "HEIGHT", $iHeight);
        
        $sEmptyCells = str_repeat($oEmptyImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_empty.html", true, false),$iEmptyCells);
        
        $oGalleryTpl->set("d", "COLUMNS", implode("", $aRenderedImages) . $sEmptyCells);
        $oGalleryTpl->next();
    }   
    $oGalleryTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery.html", false, false);
    
##### Neue Navigation START #####
##### Example: Seite 1 von 7 

      $sPageLinks = '';
      echo '<p style="padding-top:10px; text-align:center">';
      for ($i = 1; $i <= $iPages; $i++) {
         if ($sPageLinks != '') {
            $sPageLinks .= '';
         }
         if ($_REQUEST["start"] == $i) {
            $current_page = $_REQUEST["start"];
            $sPageLinks .= "Seite $current_page von $iPages\n"; # I'm on the current page, no link
         } 
      }
      echo $sPageLinks;
      echo '</p>'."\n";

##### Example: |< 1 ... 3 4 5 ... 8 >|

     $sPageLinks = '';
      echo '<p style="text-align:center">'."\n";
      echo '<a href="front_content.php?idcat='.$idcat.'&start=1">'.mi18n("Begin").' |<</a>'."\n";
      for ($i = 1; $i <= $iPages; $i++) {
         $start = $i;
         if ($i == 1 || $i == $iPages) {
            if ($sPageLinks != '') {
               $sPageLinks .= '&nbsp;';
            }
            if ($_REQUEST["start"] == $start) {
               $sPageLinks .= $i."\n"; # I'm on the current page, no link
            } else {
               $sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n";
            }
         } else if ($_REQUEST["start"] == $start) {
            $sPageLinks .= '&nbsp;'.$i."\n"; # I'm on the current page, no link
         } else if ($_REQUEST["start"] == ($start + 1)) {
            # Front
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["start"] == ($start - 1)) {
            # Back
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["start"] == ($start - 2) ||
                    $_REQUEST["start"] == ($start + 2)) {
            $sPageLinks .= '...';
         }
      }
      echo $sPageLinks."\n";
      echo '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.ceil($iFileCount / $iImagesPerPage).'">>| '.mi18n("End").'</a>'."\n";
      echo '</p>'."\n";
      echo '<p style="text-align:center">In dieser Galerie sind '.$iFileCount.' Bilder enthalten.</p>';

##### Neue Navigation ENDE  #####
}

function ig_getImageDescription($idupl){

    global $cfg, $cfgClient, $db, $client, $lang;
    
    $cApiClient = new cApiClient($client);
    $language_separator = $cApiClient->getProperty('language','separator');
    if ($language_separator == "") {
        //Sanity, if module used in client without set client setting
        $language_separator = "???";
        $cApiClient->setProperty('language','separator', $language_separator);
    }
    if(is_numeric($idupl)) {
        //ID is a number 
        $query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
    } else {
        //ID is a string
        $path_parts = pathinfo($idupl);
        $upload = $cfgClient[$client]['upl']['frontendpath'];
        $len = strlen($upload);
        $pos = strpos($idupl,$upload);
        $dirname = substr($path_parts['dirname'],$pos+$len).'/';
        $query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE (dirname = '".$dirname."') AND (filename='".$path_parts['basename']."') AND (filetype='".$path_parts['extension']."')";
    }
    $db->query($query);
    if($db->next_record()) {
        return htmlspecialchars(urldecode($db->f("description")));
    } else {
        return '';
    }
}

function ig_getMedienName($idupl) {
    
    global $cfg, $cfgClient, $db, $client, $lang;
    
    $cApiClient = new cApiClient($client);
    $language_separator = $cApiClient->getProperty('language','separator');
    if ($language_separator == "") {
        //Sanity, if module used in client without set client setting
        $language_separator = "???";
        $cApiClient->setProperty('language','separator', $language_separator);
    }
    if( is_numeric($idupl) ) {
        //ID is a number
        $query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
    } else {
        //ID is a string
        $path_parts = pathinfo($idupl);
        $upload = $cfgClient[$client]['upl']['frontendpath'];
        $len = strlen($upload);
        $pos = strpos($idupl,$upload);
        $dirname = substr($path_parts['dirname'],$pos+$len).'/';
        $danis = $dirname.$path_parts['basename'];
        $query = "SELECT value FROM ".$cfg["tab"]["properties"]." WHERE itemid = '".$dirname.$path_parts['basename']."' AND name = 'medianame'";
    }
    $db->query($query);
    if( $db->next_record() ) {
        return htmlspecialchars(urldecode($db->f("value")));
    } else {
        return '';
    }
}
?>
Dies ist übrigens die Navigation der Artikelliste Advanced von HerrB <- Thx
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Daaaaaanke

Beitrag von kenzo » Do 30. Okt 2008, 17:40

Hi Holger,

was soll ich sagen . . .

Ein großes Dankeschön!

Geile Funktion und sieht auch prima und professionell aus.

THX

kenzo :lol:

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Fr 31. Okt 2008, 22:39

Ne Fuunktion die Klasse wäre, wäre die Mölichkeit

1) Mehrere Ordner in der Dateiverwaltung auswählen zu können, aus denen die Bilder geholt werden
2) Einen Text als Wasserzeichen einzufügen
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

typo
Beiträge: 52
Registriert: So 13. Mai 2007, 18:25
Kontaktdaten:

Sortierung

Beitrag von typo » Mo 3. Nov 2008, 21:12

Hallo!

Super plugin; aber ich habe die Herausforderung, dass ich nach dem Medienname sortieren möchte. Trotz mehrfachem Anschauen des Sourcecodes habe ich es leider nicht geschafft - wer kann mir helfen?

Danke und Gruss,

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Beitrag von GaMbIt_ » Mo 3. Nov 2008, 23:30

Schau mal im oberen Bereich nach und sieh doch mal im Array nach welche Informationen im Array enthalten sind.

typo
Beiträge: 52
Registriert: So 13. Mai 2007, 18:25
Kontaktdaten:

Beitrag von typo » Di 4. Nov 2008, 19:26

Hallo,

Ich nehme an, du meinst den multisort-Array?:

Code: Alles auswählen

array_multisort($aGalleryFiles, $sort, SORT_STRING);
Der Funktionsaufruf, um den Medienname zu holen habe ich in der foreach-Schleife gefunden, welche jedoch weiter unten zu finden ist:

Code: Alles auswählen

$media_name = ig_getMedienName($sImageToDisplay);

Meiner Interpretation nach muss ich nun als SORT_STRING den Medienname zuweisen? Muss ich dafür eine neue foreach-Schleife erstellen; oder wie funktioniert das?

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Beitrag von GaMbIt_ » Di 4. Nov 2008, 19:48

Die Sortierung wird anhand von verschiedenen Werten im Array vorgenommen.

Ich denke dass der Medienname noch nicht im Array enthalten ist.
Deswegen ist so auch keine Sortierung nach Medienname möglich.

Wäre aber mal spannend zuerst ein Array mit allen Werten aufzubauen und dann die Bildergalerie aufzubauen.

kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Habe ein kleines Problem mit der Navi

Beitrag von kenzo » Mo 1. Dez 2008, 21:25

Ich habe die Lightbox im Einsatz und alle funktioniert prima.

Doch jetzt bin ich auf ein kleines Problem gestoßen.

Ich habe einen Startartikel angelegt und darin neben einer Menge text einen Link zu einem zweiten Artikel (nicht der Startartikel) in der selben Kategorie angelegt.

Dieser zweite Artikel (nicht der Startartikel) ist die Lightbox-Gallery.

Dort werden dann die ersten 6 von insgesamt 14 Bildern angezeigt.
Über die Navigation , für die ich baghira sehr dankbar bin, sollten dann eigentlich mit Klick auf die Seite 2 die nächsten 6 Bilder und mit Klick auf Seite 3 die übrigen 2 Bilder angezeigt werden.

Leider lande ich bei Klick auf 2 oder 3 immer wieder auf dem Startartikel, der ja nur den Text und denlink auf die Light-Box-gallery enthält.

Wißt Ihr zufällig woran das liegen kann?

Hier der Code:

Input:

Code: Alles auswählen

?> 
<table> 
  <tr> 
    <td><?php echo mi18n("Breite").' x '.mi18n("H&ouml;he"); ?></td> 
    <td><input type="text" name="<?php echo "CMS_VAR[0]"; ?>" value="<?php echo "CMS_VALUE[0]"; ?>" style="width:40px;"> x <input type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo "CMS_VALUE[1]"; ?>" style="width:40px;"></td> 
  </tr><tr> 
    <td><?php echo mi18n("Spalten");?> x <?php echo mi18n("Zeilen");?></td> 
    <td><input type="text" name="<?php echo "CMS_VAR[2]"; ?>" value="<?php echo "CMS_VALUE[2]"; ?>" style="width:40px;"> x <input type="text" name="<?php echo "CMS_VAR[3]"; ?>" value="<?php echo "CMS_VALUE[3]"; ?>" style="width:40px;"></td> 
  </tr> 
  <?php 
  $sql = "SELECT DISTINCT dirname FROM ".$cfg['tab']['upl']." ORDER BY dirname"; 
  $db->query($sql); 
  echo '<tr><td>'.mi18n("Verzeichnis auswählen").'</td><td> 
      <select name="CMS_VAR[4]" size="1" style="width: 320px"> 
         <option value="">'.mi18n("Nichts ausgewählt").'</option>'; 
         while ($db->next_record()) { 
            if ( stristr($db->f("dirname"),'CVS/') === FALSE ) { 
               if ($db->f("dirname")=="CMS_VALUE[4]") { 
                  echo '<option value="'.$db->f("dirname").'" selected="selected">'.$db->f("dirname").'</option>'; 
               } else { 
                  echo '<option value="'.$db->f("dirname").'">'.$db->f("dirname").'</option>'; 
               } 
            } 
         } 
   echo '</select></td></tr>';?> 

<?php 
$sort = ""; 
if("CMS_VALUE[5]" == "asc" || "CMS_VALUE[5]" == "") { 
 $asc = " checked"; 
} else { 
 $desc = " checked"; 
} 
?> 
   <tr> 
       <td><?php echo mi18n("Sortierrichtung");?></td> 
      <td> 
         <input type="radio" name="CMS_VAR[5]" value="asc"<?php echo $asc; ?>> <?php echo mi18n("Aufsteigend"); ?> 
         <input type="radio" name="CMS_VAR[5]" value="desc"<?php echo $desc; ?>> <?php echo mi18n("Absteigend"); ?> 
      </td> 
   </tr><tr> 
    <td><?php echo mi18n("Zeichenanzahl");?></td> 
    <td><input type="text" name="<?php echo "CMS_VAR[6]"; ?>" value="<?php echo "CMS_VALUE[6]"; ?>" style="width:40px;"></td> 
  </tr> 
</table> 
<?php
Output:

Code: Alles auswählen

<?php 

cInclude("includes", "functions.api.images.php"); 

/* Gallery variables */ 
$bRecursive = false; 

/* Input variables */ 
$iWidth = "CMS_VALUE[0]"; 
$iHeight = "CMS_VALUE[1]"; 
if ($iWidth == 0) { 
  $iWidth = 300; 
} 
if ($iHeight == 0) { 
  $iHeight = 300; 
} 

$iColumns = "CMS_VALUE[2]"; 
if ($iColumns == 0) { 
  $iColumns = 2; 
} 

$iRows = "CMS_VALUE[3]"; 
if ($iRows == 0) { 
  $iRows = 2; 
} 

$sPath = "CMS_VALUE[4]"; 
if ($sPath=='') { 
    $sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "bildergalerie/"; 
} else { 
    $sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "CMS_VALUE[4]"; 
} 

$sort = "CMS_VALUE[5]"; 
if( $sort == "asc" ) { 
    $sort = SORT_ASC; 
} else { 
    $sort = SORT_DESC; 
} 

$words = "CMS_VALUE[6]"; 

if (isset($_REQUEST["start"])) { 
  $iCurrentPage = $_REQUEST["start"]; 
} else { 
  $start = 1; 
  $iCurrentPage = 1; 
  $_REQUEST["start"] = 1; 
} 

$aValidExtensions = array("jpg", "jpeg", "gif", "png"); 

$iImagesPerPage = $iRows * $iColumns; 

/* Read all gallery files */ 
$aGalleryFiles = scanDirectory($sPath, $bRecursive); 
array_multisort($aGalleryFiles, $sort, SORT_STRING); 

if (is_array($aGalleryFiles)) { 
    /* Filter out non-images */ 
    foreach ($aGalleryFiles as $key => $aGalleryFile) { 
        $sExtension = strtolower(getFileExtension($aGalleryFile)); 
        if (!in_array($sExtension, $aValidExtensions)) { 
            unset($aGalleryFiles[$key]); 
        } 
    } 
    
    /* Calculate effective variables */ 
    $iFileCount = count($aGalleryFiles); 
    $iPages = ceil($iFileCount / $iImagesPerPage); 
    
    $aImagesToDisplay = array_slice($aGalleryFiles, ($iCurrentPage - 1) * $iImagesPerPage, $iImagesPerPage); 
    
    $oImageTpl = new Template; 
    $oGalleryTpl = new Template; 
    $oEmptyImageTpl = new Template; 
    
    $aRenderedImages = array(); 
    
    $iRow = 0; 
    $iImagesRendered = 0; 
    
    foreach ($aImagesToDisplay as $sImageToDisplay) { 
        /* Do Scaling */ 
        $sScaledImage = cApiImgScale($sImageToDisplay, $iWidth, $iHeight); 
        $sScaledImage = str_replace($cfgClient[$client]["path"]["htmlpath"],"",$sScaledImage); 
        
        $link = str_replace($cfgClient[$client]['path']['frontend'],$cfgClient['htmlpath'],$sImageToDisplay); 
        
        $media_name = ig_getMedienName($sImageToDisplay); 
        
        $link_description = ig_getImageDescription($sImageToDisplay); 
        
        if ($words != "" || $words != 0) { 
                     # Cutting text but preserving words and entities 
         if(strlen($link_description) > $words){ 
            $description = htmlentities(capiStrTrimAfterWord($link_description, $words)."..."); 
         } else { 
            $description = ""; 
         } 
        } 
        
      if( $media_name != "" && $link_description != "") { 
         $link_description = $media_name.': '.$link_description; 
      } elseif( $media_name != "" ) { 
         $link_description = $link_description; 
      } elseif( $description != "" ) { 
         $link_description = $link_description; 
         $media_name = "&nbsp;"; 
      } 
        
        $oImageTpl->reset(); 
        $oImageTpl->set("s", "FILE", $sScaledImage); 
        $oImageTpl->set("s", "WIDTH", $iWidth); 
        $oImageTpl->set("s", "HEIGHT", $iHeight); 
        $oImageTpl->set("s", "LINK", $link); 
        $oImageTpl->set("s", "MEDIANAME", $media_name); 
        $oImageTpl->set("s", "DESCRIPTION", $description); 
        $oImageTpl->set("s", "LINKDESCRIPTION", $link_description); 
        
        $aRenderedImages[] = $oImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_image.html", true, false); 
        
        $iImagesRendered++; 
        
        if ($iImagesRendered == $iColumns) { 
            $oGalleryTpl->set("d", "COLUMNS", implode("", $aRenderedImages)); 
            $oGalleryTpl->next(); 
            $iImagesRendered = 0; 
            $aRenderedImages = array(); 
        } 
    } 
    
    if (count($aRenderedImages) < $iColumns && count($aRenderedImages) > 0) { 
        $iEmptyCells = $iColumns - count($aRenderedImages); 
        
        $oEmptyImageTpl->set("s", "WIDTH", $iWidth); 
        $oEmptyImageTpl->set("s", "HEIGHT", $iHeight); 
        
        $sEmptyCells = str_repeat($oEmptyImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_empty.html", true, false),$iEmptyCells); 
        
        $oGalleryTpl->set("d", "COLUMNS", implode("", $aRenderedImages) . $sEmptyCells); 
        $oGalleryTpl->next(); 
    }    
    $oGalleryTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/bildershow.html", false, false); 
    
##### Neue Navigation START ##### 
##### Example: Seite 1 von 7 

      $sPageLinks = ''; 
      echo '<p style="padding-top:10px; text-align:center">'; 
      for ($i = 1; $i <= $iPages; $i++) { 
         if ($sPageLinks != '') { 
            $sPageLinks .= ''; 
         } 
         if ($_REQUEST["start"] == $i) { 
            $current_page = $_REQUEST["start"]; 
            $sPageLinks .= "Seite $current_page von $iPages\n"; # I'm on the current page, no link 
         } 
      } 
      echo $sPageLinks; 
      echo '</p>'."\n"; 

##### Example: |< 1 ... 3 4 5 ... 8 >| 

     $sPageLinks = ''; 
      echo '<p style="text-align:center">'."\n"; 
      echo '<a href="front_content.php?idcat='.$idcat.'&start=1">'.mi18n("Begin").' |<</a>'."\n"; 
      for ($i = 1; $i <= $iPages; $i++) { 
         $start = $i; 
         if ($i == 1 || $i == $iPages) { 
            if ($sPageLinks != '') { 
               $sPageLinks .= '&nbsp;'; 
            } 
            if ($_REQUEST["start"] == $start) { 
               $sPageLinks .= $i."\n"; # I'm on the current page, no link 
            } else { 
               $sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n"; 
            } 
         } else if ($_REQUEST["start"] == $start) { 
            $sPageLinks .= '&nbsp;'.$i."\n"; # I'm on the current page, no link 
         } else if ($_REQUEST["start"] == ($start + 1)) { 
            # Front 
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n"; 
         } else if ($_REQUEST["start"] == ($start - 1)) { 
            # Back 
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n"; 
         } else if ($_REQUEST["start"] == ($start - 2) || 
                    $_REQUEST["start"] == ($start + 2)) { 
            $sPageLinks .= '...'; 
         } 
      } 
      echo $sPageLinks."\n"; 
      echo '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.ceil($iFileCount / $iImagesPerPage).'">>| '.mi18n("End").'</a>'."\n"; 
      echo '</p>'."\n"; 
      echo '<p style="text-align:center">In dieser Galerie sind '.$iFileCount.' Bilder enthalten.</p>'; 

##### Neue Navigation ENDE  ##### 
} 

function ig_getImageDescription($idupl){ 

    global $cfg, $cfgClient, $db, $client, $lang; 
    
    $cApiClient = new cApiClient($client); 
    $language_separator = $cApiClient->getProperty('language','separator'); 
    if ($language_separator == "") { 
        //Sanity, if module used in client without set client setting 
        $language_separator = "???"; 
        $cApiClient->setProperty('language','separator', $language_separator); 
    } 
    if(is_numeric($idupl)) { 
        //ID is a number 
        $query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl; 
    } else { 
        //ID is a string 
        $path_parts = pathinfo($idupl); 
        $upload = $cfgClient[$client]['upl']['frontendpath']; 
        $len = strlen($upload); 
        $pos = strpos($idupl,$upload); 
        $dirname = substr($path_parts['dirname'],$pos+$len).'/'; 
        $query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE (dirname = '".$dirname."') AND (filename='".$path_parts['basename']."') AND (filetype='".$path_parts['extension']."')"; 
    } 
    $db->query($query); 
    if($db->next_record()) { 
        return htmlspecialchars(urldecode($db->f("description"))); 
    } else { 
        return ''; 
    } 
} 

function ig_getMedienName($idupl) { 
    
    global $cfg, $cfgClient, $db, $client, $lang; 
    
    $cApiClient = new cApiClient($client); 
    $language_separator = $cApiClient->getProperty('language','separator'); 
    if ($language_separator == "") { 
        //Sanity, if module used in client without set client setting 
        $language_separator = "???"; 
        $cApiClient->setProperty('language','separator', $language_separator); 
    } 
    if( is_numeric($idupl) ) { 
        //ID is a number 
        $query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl; 
    } else { 
        //ID is a string 
        $path_parts = pathinfo($idupl); 
        $upload = $cfgClient[$client]['upl']['frontendpath']; 
        $len = strlen($upload); 
        $pos = strpos($idupl,$upload); 
        $dirname = substr($path_parts['dirname'],$pos+$len).'/'; 
        $danis = $dirname.$path_parts['basename']; 
        $query = "SELECT value FROM ".$cfg["tab"]["properties"]." WHERE itemid = '".$dirname.$path_parts['basename']."' AND name = 'medianame'"; 
    } 
    $db->query($query); 
    if( $db->next_record() ) { 
        return htmlspecialchars(urldecode($db->f("value"))); 
    } else { 
        return ''; 
    } 
} 
?>
[/code]

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: Habe ein kleines Problem mit der Navi

Beitrag von BagHira » Di 2. Dez 2008, 08:30

kenzo hat geschrieben:Leider lande ich bei Klick auf 2 oder 3 immer wieder auf dem Startartikel, der ja nur den Text und denlink auf die Light-Box-gallery enthält.
Hallo kenzo,

tausche doch bitte mal den folgenden Code im Output des Modules aus:

Alt:

Code: Alles auswählen

##### Example: |< 1 ... 3 4 5 ... 8 >|

     $sPageLinks = '';
      echo '<p style="text-align:center">'."\n";
      echo '<a href="front_content.php?idcat='.$idcat.'&start=1">'.mi18n("Begin").' |<</a>'."\n";
      for ($i = 1; $i <= $iPages; $i++) {
         $start = $i;
         if ($i == 1 || $i == $iPages) {
            if ($sPageLinks != '') {
               $sPageLinks .= '&nbsp;';
            }
            if ($_REQUEST["start"] == $start) {
               $sPageLinks .= $i."\n"; # I'm on the current page, no link
            } else {
               $sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n";
            }
         } else if ($_REQUEST["start"] == $start) {
            $sPageLinks .= '&nbsp;'.$i."\n"; # I'm on the current page, no link
         } else if ($_REQUEST["start"] == ($start + 1)) {
            # Front
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["start"] == ($start - 1)) {
            # Back
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.$start.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["start"] == ($start - 2) ||
                    $_REQUEST["start"] == ($start + 2)) {
            $sPageLinks .= '...';
         }
      }
      echo $sPageLinks."\n";
      echo '&nbsp;<a href="front_content.php?idcat='.$idcat.'&start='.ceil($iFileCount / $iImagesPerPage).'">>| '.mi18n("End").'</a>'."\n";
      echo '</p>'."\n";
      echo '<p style="text-align:center">In dieser Galerie sind '.$iFileCount.' Bilder enthalten.</p>';

##### Neue Navigation ENDE  #####
Neu:

Code: Alles auswählen

##### Example: |< 1 ... 3 4 5 ... 8 >|

     $sPageLinks = '';
      echo '<p style="text-align:center">'."\n";
      echo '<a href="front_content.php?idart='.$idart.'&start=1">'.mi18n("Begin").' |<</a>'."\n";
      for ($i = 1; $i <= $iPages; $i++) {
         $start = $i;
         if ($i == 1 || $i == $iPages) {
            if ($sPageLinks != '') {
               $sPageLinks .= '&nbsp;';
            }
            if ($_REQUEST["start"] == $start) {
               $sPageLinks .= $i."\n"; # I'm on the current page, no link
            } else {
               $sPageLinks .= '<a href="front_content.php?idart='.$idart.'&start='.$start.'">'.$i.'</a>'."\n";
            }
         } else if ($_REQUEST["start"] == $start) {
            $sPageLinks .= '&nbsp;'.$i."\n"; # I'm on the current page, no link
         } else if ($_REQUEST["start"] == ($start + 1)) {
            # Front
            $sPageLinks .= '&nbsp;<a href="front_content.php?idart='.$idart.'&start='.$start.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["start"] == ($start - 1)) {
            # Back
            $sPageLinks .= '&nbsp;<a href="front_content.php?idart='.$idart.'&start='.$start.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["start"] == ($start - 2) ||
                    $_REQUEST["start"] == ($start + 2)) {
            $sPageLinks .= '...';
         }
      }
      echo $sPageLinks."\n";
      echo '&nbsp;<a href="front_content.php?idart='.$idart.'&start='.ceil($iFileCount / $iImagesPerPage).'">>| '.mi18n("End").'</a>'."\n";
      echo '</p>'."\n";
      echo '<p style="text-align:center">In dieser Galerie sind '.$iFileCount.' Bilder enthalten.</p>';

##### Neue Navigation ENDE  #####
Ich habe damals unter Contenido 4.6.x mr den Code von front_content.php?idart='.$idart.'... auf front_content.php?idcat='.$idcat.' wegen der SEO-Links geändert. :oops:
So sollte es funktionieren. :roll:
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Daaaanke

Beitrag von kenzo » Di 2. Dez 2008, 18:59

Hi BagHira,

das hat geklappt, vielen Dank.

Ich glaub ich muss da mal einen ausgeben ;-)

THX

kenzo

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: Daaaanke

Beitrag von BagHira » Di 2. Dez 2008, 19:28

kenzo hat geschrieben:Ich glaub ich muss da mal einen ausgeben ;-)
Na dann schubs mal ne halbe rüber *drustigschau* :lol:
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

hohorstmann
Beiträge: 270
Registriert: Do 27. Apr 2006, 02:38
Wohnort: Tief im Westen
Kontaktdaten:

Lightbox 1.2.1 in 4.8.8 zeigt Bilder nicht in Popup-Fenster

Beitrag von hohorstmann » Do 18. Dez 2008, 17:26

N´abend allerseits,

oh je, irgendetwas sehe ich nicht.
Miniaturbilder werden angezeigt. Beim Klick darauf wird das vergrößerte Bild im Browser als vollständiges Fenster angezeigt und nicht das lightbox-Popup-Fenster.

Was ich gemacht habe:
  • 1.2.1 heruntergeladen;
    Templates, Bilder, JS-Dateien in die entsprechenden Ordner hochgeladen
    lightbox.css nur hochgeladen (Pfade waren ok für mich)
    Modul-Package hochgeladen
    Layout ergänzt (lightbox.js, effect.js, lightbox.css)
    Template erstellt; beinhaltet jetzt das Modul lightbox
    Artikel erstellt auf Basis des Templates
    Im Artikel sehe ich die Vorschaubilder in aller Schönheit ...
.. aber es "lightboxed" nicht.

So sieht mein Layout aus:

Code: Alles auswählen

...
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
...
<script src="js/mootools.js"  type="text/javascript"></script> 
<script src="js/lightbox.js"   type="text/javascript"></script>
<script src="js/effects.js"   type="text/javascript"></script>

Boxed mich mal jemand light ?

Gruß, Ho

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: Lightbox 1.2.1 in 4.8.8 zeigt Bilder nicht in Popup-Fens

Beitrag von BagHira » Do 18. Dez 2008, 18:05

hohorstmann hat geschrieben:N´abend allerseits
Versuchs mal mit:

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>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

Gesperrt