Bildergallerie Orginalgröße in Detailansicht
Bildergallerie Orginalgröße in Detailansicht
Hallo,
ich arbeite erst seit kurzem mit Contenido und versuche jetzt schon stundenlang die Bildergallerie auf meine Bedürfnisse anzupassen. Bisher ging das auch schon ganz gut, dank der Tipps hier aus dem Forum, doch bekomme ich es nicht hin, dass in der Detailansicht anstatt einer eigestellten Größe (und damit verschlechterten Bildqualität) einfach das Bild in Orginalgröße anzeigt wird.
Kann mir jemand helfen, wie ich das modul verändern muss, damit das funktioniert?
Danke für Hilfe
ich arbeite erst seit kurzem mit Contenido und versuche jetzt schon stundenlang die Bildergallerie auf meine Bedürfnisse anzupassen. Bisher ging das auch schon ganz gut, dank der Tipps hier aus dem Forum, doch bekomme ich es nicht hin, dass in der Detailansicht anstatt einer eigestellten Größe (und damit verschlechterten Bildqualität) einfach das Bild in Orginalgröße anzeigt wird.
Kann mir jemand helfen, wie ich das modul verändern muss, damit das funktioniert?
Danke für Hilfe
-
- Beiträge: 1536
- Registriert: Fr 20. Aug 2004, 10:07
- Kontaktdaten:
http://contenido.org/forum/viewtopic.ph ... dergalerie
nimm mal die und in deinem detail template sollte im img tag folgendes stehen . Sollte klappen
nimm mal die und in deinem detail template sollte im img tag folgendes stehen . Sollte klappen

Code: Alles auswählen
<img border="0" src="{FILE}" title="{DESCRIPTION}" alt="{DESCRIPTION}" width="{WPOP}" height="{HPOP}">
Zuletzt geändert von rezeptionist am Di 21. Feb 2006, 22:43, insgesamt 2-mal geändert.
greets
-
- Beiträge: 1536
- Registriert: Fr 20. Aug 2004, 10:07
- Kontaktdaten:
nimm mal die und in deinem detail template sollte im img tag folgendes stehen . Sollte klappen .
Damit meinte ich nimm dein bisheriges Original Template und füge die obere Anweisung ein. Dann ist es ohne popup. In dem Modul von mir wird die Bildgröße ermittelt und dann an das Template weitergegeben, deshalb die anweisung oben !!
Damit meinte ich nimm dein bisheriges Original Template und füge die obere Anweisung ein. Dann ist es ohne popup. In dem Modul von mir wird die Bildgröße ermittelt und dann an das Template weitergegeben, deshalb die anweisung oben !!
greets
-
- Beiträge: 1536
- Registriert: Fr 20. Aug 2004, 10:07
- Kontaktdaten:
-
- Beiträge: 1536
- Registriert: Fr 20. Aug 2004, 10:07
- Kontaktdaten:
ging doch schneller, zwar nicht schön aber sollte jetzt gehen
gallery_detail.html
Modul Input bleibt unverändert !
Modul Output:

gallery_detail.html
Code: Alles auswählen
<p align="center">
<img border="0" src="{DOWNLOAD_LINK}" title="{DESCRIPTION}" alt="{DESCRIPTION}" width="{WPOP}" height="{HPOP}">
<br/><br/>
{DESCRIPTION}
<br/><br/>
<a href="{DOWNLOAD_LINK}" target="_blank">{DOWNLOAD_CAPTION}</a> ({DOWNLOAD_SIZE})
<br/><br/>
<a href="{BACKLINK}">{BACKCAPTION}</a>
</p>
Modul Output:
Code: Alles auswählen
<?php
/***********************************************
* Bildergalerie Output
*
* Author : Timo A. Hummel
* Copyright : four for business AG
* Created : 30-09-2005
************************************************/
cInclude("includes", "functions.api.images.php");
/* Gallery variables */
$bRecursive = false;
$sPath = "CMS_VALUE[5]";
if ($sPath=='') {
$sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "bildergalerie/";
} else {
$sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "CMS_VALUE[5]";
}
$iRows = "CMS_VALUE[3]";
if ($iRows == 0)
{
$iRows = 2;
}
$iColumns = "CMS_VALUE[2]";
if ($iColumns == 0)
{
$iColumns = 2;
}
if (isset($start))
{
$iCurrentPage = $start;
} else {
$iCurrentPage = 1;
}
$iWidth = "CMS_VALUE[0]";
$iHeight = "CMS_VALUE[1]";
if ($iWidth == 0)
{
$iWidth = 300;
}
if ($iHeight == 0)
{
$iHeight = 300;
}
$iDetailWidth = "CMS_VALUE[4]";
if ($iDetailWidth == 0)
{
$iDetailWidth = 300;
}
$aValidExtensions = array("jpg", "jpeg", "gif", "png");
$iImagesPerPage = $iRows * $iColumns;
if ($_REQUEST['view']=='') {
/* Read all gallery files */
$aGalleryFiles = scanDirectory($sPath, $bRecursive);
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);
$link = 'front_content.php?idcatart='.$idcatart.'&start='.$_REQUEST['start'].'&view='.urlencode(str_replace($cfgClient[$client]['path']['frontend'],'',$sImageToDisplay));
$description = ig_getImageDescription($sImageToDisplay);
if ($description=='') {
$description = ' ';
}
$bild = $sImageToDisplay ;
$info = getimagesize($bild);
$download_link = str_replace($cfgClient[$client]['path']['frontend'],$cfgClient[$client]['path']['htmlpath'],$sImageToDisplay);
$download_size = ig_GetReadableFileSize($sImageToDisplay);
$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", "DESCRIPTION", $description);
$oImageTpl->set("s", "DOWNLOAD_LINK", $download_link);
$oImageTpl->set("s", "DOWNLOAD_SIZE", $download_size);
$oImageTpl->set("s", "DOWNLOAD_CAPTION", mi18n("runter laden"));
$oImageTpl->set("s", "PREVIEW_CAPTION", mi18n("Bildvorschau"));
$aRenderedImages[] = $oImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/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/gallery_empty.html", true, false),$iEmptyCells);
$oGalleryTpl->set("d", "COLUMNS", implode("", $aRenderedImages) . $sEmptyCells);
$oGalleryTpl->next();
}
$aLinks = array();
if ($iCurrentPage > 1)
{
$oPreviousTpl = new Template;
$oPreviousTpl->set("s", "LINK", $cfgClient[$client]["path"]["htmlpath"] . sprintf("front_content.php?idcatart=%s&start=%s", $idcatart, $iCurrentPage - 1));
$oPreviousTpl->set("s", "TITLE", mi18n("Zurück"));
$aLinks[] = $oPreviousTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/gallery_link.html", true, false);
}
if ($iCurrentPage < $iPages)
{
$oNextTpl = new Template;
$oNextTpl->set("s", "LINK", $cfgClient[$client]["path"]["htmlpath"] . sprintf("front_content.php?idcatart=%s&start=%s", $idcatart, $iCurrentPage + 1));
$oNextTpl->set("s", "TITLE", mi18n("Vor"));
$aLinks[] = $oNextTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/gallery_link.html", true, false);
}
$oGalleryTpl->set("s", "NAVIGATION", implode("", $aLinks));
$oGalleryTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/gallery.html", false, false);
}
} else {
$sImageToDisplay = $cfgClient[$client]['path']['frontend'].$_REQUEST['view'];
$sScaledImage = cApiImgScale($sImageToDisplay, $iDetailWidth, 1000);
$description = ig_getImageDescription($sImageToDisplay);
if ($description=='') {
$description = ' ';
}
$bild = $sImageToDisplay ;
$info = getimagesize($bild);
$download_link = str_replace($cfgClient[$client]['path']['frontend'],$cfgClient[$client]['path']['htmlpath'],$sImageToDisplay);
$download_size = ig_GetReadableFileSize($sImageToDisplay);
$oImageTpl = new Template;
$oImageTpl->set("s", "IMG",$sScaledImage);
$oImageTpl->set("s", "BACKLINK",'front_content.php?idcat='.$idcat.'&idart='.$idart.'&start='.$_REQUEST['start']);
$oImageTpl->set("s", "BACKCAPTION",mi18n("Zurück"));
$oImageTpl->set("s", "WPOP", $info[0]);
$oImageTpl->set("s", "HPOP", $info[1]);
$oImageTpl->set("s", "DESCRIPTION", $description);
$oImageTpl->set("s", "DOWNLOAD_LINK", $download_link);
$oImageTpl->set("s", "DOWNLOAD_SIZE", $download_size);
$oImageTpl->set("s", "DOWNLOAD_CAPTION", mi18n("runter laden"));
$oImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/gallery_detail.html", false, false);
}
function ig_getImageDescription($idupl){
global $cfg, $cfgClient, $db, $client, $lang;
$cApiClient = new cApiClient($client);
$language_separator = $cApiClient->getProperty('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_GetReadableFileSize($path) {
$filesize = filesize($path);
$unit = "bytes";
if ($filesize > 1024) {
$filesize = ($filesize / 1024);
$unit = "kB"; }
if ($filesize > 1024) {
$filesize = ($filesize / 1024);
$unit = "MB"; }
if ($filesize > 1024) {
$filesize = ($filesize / 1024);
$unit = "GB"; }
if ($filesize > 1024) {
$filesize = ($filesize / 1024);
$unit = "TB"; }
$filesize = round($filesize, 0);
return $filesize." ".$unit;
}
?>
greets
-
- Beiträge: 1536
- Registriert: Fr 20. Aug 2004, 10:07
- Kontaktdaten: