Lightbox-Bildergalerie

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

Beitrag von BagHira » Do 15. Mär 2007, 09:02

stb hat geschrieben:Des Weiteren würde ich gerne wissen, ob es möglich ist, statt der Bildbeschreibung, für jedes Thumbnail den Dateinamen auszugeben??
Schau dir mal den Modul-Output an und such nach $sImageToDisplay, das sollte der Dateiname sein, du müsstest dann

Code: Alles auswählen

$oImageTpl->set("s", "DESCRIPTION", $description);
anpassen / ersetzten
etwa...

Code: Alles auswählen

$oImageTpl->set("s", "DESCRIPTION", $description);
$oImageTpl->set("s", "FILENAME", $sImageToDisplay);
Anschließend das Template entsprechend ändern.
Gruß Holger

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

Handgewickelte Glasperlen Facebook Google+

michaelz
Beiträge: 2
Registriert: Do 15. Mär 2007, 10:30
Kontaktdaten:

bitte helft mir

Beitrag von michaelz » Do 15. Mär 2007, 11:33

Habe
modul erstellt
templates hochgeladen
css hochgeladen
js hochgeladen
im layout die zeilen im head ergänzt
template konfiguriert

jedoch wenn ich jetzt die galerie einbinde, erhalte ich diese Fehlermeldung im editor

Parse error: syntax error, unexpected $end in /var/www/html/web1576/html/fundort-kloake/contenido/includes/include.con_editcontent.php(644) : eval()'d code on line 673 (die con editcontent enthält keine zeile 673)

im vorschau modus erscheint die selbe fehlermeldung jedoch mit anderer zeilennummer

Parse error: syntax error, unexpected $end in /var/www/html/web1576/html/fundort-kloake/contenido/external/backendedit/front_content.php(806) : eval()'d code on line 511 (übrigens, die zeile ist leer)

verstehe von PHP relativ wenig und seh keine Lösung

danke michaelz

stb
Beiträge: 71
Registriert: Mo 8. Jan 2007, 20:40
Kontaktdaten:

Beitrag von stb » Do 15. Mär 2007, 17:31

Hey, cool, danke, es klappt!
Bis auf eine Kleingkeit:
Folgendes wird ausgegeben:
/XXX/XXXX/XXXX/XXXX/v2/cms/upload/bildergalerie/galerie1/Testbilder - 10.jpg
Wie kann ich die Ausgabe ändern, dass nur "Testbilder - 10.jpg" ausgegeben wird?
Exercitatio artem parat -
Übung macht den Meister

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

Beitrag von BagHira » Do 15. Mär 2007, 19:52

stb hat geschrieben:Hey, cool, danke, es klappt!
Bis auf eine Kleingkeit:
Folgendes wird ausgegeben:
/XXX/XXXX/XXXX/XXXX/v2/cms/upload/bildergalerie/galerie1/Testbilder - 10.jpg
Wie kann ich die Ausgabe ändern, dass nur "Testbilder - 10.jpg" ausgegeben wird?
Änder mal im Output folgendes:

Code: Alles auswählen

$oImageTpl->set("s", "FILENAME", $sImageToDisplay);
in

Code: Alles auswählen

$oImageTpl->set("s", "FILENAME", basename($sImageToDisplay));
Aber vorsicht, das ganze ist ungetestet :roll: mach mal lieber vorher ein Backup deines Moduls :wink:
Gruß Holger

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

Handgewickelte Glasperlen Facebook Google+

stb
Beiträge: 71
Registriert: Mo 8. Jan 2007, 20:40
Kontaktdaten:

Beitrag von stb » Do 15. Mär 2007, 22:08

Es klappt!! :shock: :lol:
Vielen, vielen Dank für deine schnelle Hilfe!! :D :D
Exercitatio artem parat -
Übung macht den Meister

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

Darstellungsproblem

Beitrag von ClemensSchnitzler » Fr 16. Mär 2007, 15:04

Zuerst mal vielen Dank für das Modul. Ich habe es eingebaut und es läuft bis auf eine Kleinigkeit perfekt.

Wenn sich die Bilder in der vergrößerten Ansicht anschaut wird die Webseite ja abgedunkelt. Beim Internetexplorer aber leider nicht die komplette Seite. Unten bleibt leider immer ein breiter weißer Balken. Dies fällt bei kleinen Monitoren erst gar nicht auf. Erst wenn man die Seite scrollt kann man diesen Effekt sehen.

Kann mir jemand einen Tipp geben, wie ich das korrigiere?

Viele Grüße

Clemens

tommo
Beiträge: 120
Registriert: So 27. Jun 2004, 21:34
Kontaktdaten:

Beitrag von tommo » So 18. Mär 2007, 12:16

Wie könnte man die Thumbnail-Ansicht abändern, so dass immer nur ein Thumbnail angezeigt wird und es hier schon eine (eigene) vor- und zurücktaste gibt?
Das ganze sollte natürlich über JS laufen, um einen Neuaufruf der Seite zu verhindern.

Danke für Eure Hilfe,

Tom

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

ModRewrite

Beitrag von BagHira » So 18. Mär 2007, 20:00

Für die Nutzung von ModRewrite solltet Ihr die beiden Zeilen im Output entsprechend ändern:

Code: Alles auswählen

$oPreviousTpl->set("s", "LINK", $cfgClient[$client]["path"]["htmlpath"] . sprintf("front_content.php?idcatart=%s&start=%s", $idcatart, $iCurrentPage - 1));
ändern zu

Code: Alles auswählen

$oPreviousTpl->set("s", "LINK", "front_content.php?idcatart=".$idcatart."&start=".($iCurrentPage - 1));
und

Code: Alles auswählen

$oNextTpl->set("s", "LINK", $cfgClient[$client]["path"]["htmlpath"] . sprintf("front_content.php?idcatart=%s&start=%s", $idcatart, $iCurrentPage + 1));
ändern zu

Code: Alles auswählen

$oNextTpl->set("s", "LINK", "front_content.php?idcatart=".$idcatart."&start=".($iCurrentPage + 1));
dann klappts auch mit der Galerienavi :-)
Gruß Holger

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

Handgewickelte Glasperlen Facebook Google+

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

Danke!

Beitrag von Thorsten G. » Mo 19. Mär 2007, 15:16

Danke für das Super-Modul!

womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von womic2000 » So 25. Mär 2007, 22:27

Hallo,

habe soeben das Modus eingebau. Es funktioniert wunderbar. Danke.

Ich möchte nun aber die Label austauschen "prev" und "next". Weiss jemand, wie der Font heisst, mit dem die Original-Buttons gemacht wurden ?

Das JS habe ich bereits angepasst. "p" oder "z" zür zurück/prev. "w" oder "n" fürs nächste Bild, und schließen mit "x" oder "s".

sircancellot
Beiträge: 9
Registriert: Do 8. Mär 2007, 15:44
Wohnort: Schweiz
Kontaktdaten:

Beitrag von sircancellot » Mo 26. Mär 2007, 11:19

Ich bin Anfänger und hätte da noch eine kleine Hilfe nötig:

Ich habe die Gallery hochgeladen, alles wie beschrieben. Nun müsste ich ein Template generieren (soweit mein Verstand reicht...). Leider scheittert es dort, da ich nicht weiss, welche Einstellungen ich vornehmen muss.

Kann mir da mal jemand einen klaps auf den Hinterkopf geben??

silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Mo 26. Mär 2007, 14:46

@sircancellot:

Aalsoo,

ich gehe davon aus, dass das Modul in Contenido existiert.
Gehe unter Style auf Templates. Wähle rechts bei Standard den Button "Template duplizieren" und benenne das duplizierte Template z. B. "Lightbox".
Wähle dieses jetzt aus und ersetze das Modul "Text HTML" (Container 12?) durch das Modul (Lightbox).
Wechsel jetzt oben zum Content und wähle den Artikel aus, der die Galerie darstellen soll. Diesem gibst du jetzt das Template "Lightbox" mit und zeige dem Modul, wo deine Bilder sind...

Gruß,
Thomas

womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von womic2000 » Mo 26. Mär 2007, 20:55

Habe doch noch ein größeres Problem mit der Lightbox:

Auf einer Seite mit einer Flash-Animation liegt die Lightbox unterhalb der Flash-Animation, dadurch ist das Bild natürlich nicht zu sehen.

Gibt es hierfür eine Lösung ?

Der Film hat einen z-index von 5, die Lightbox einen z-index von über 900.

silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Mo 26. Mär 2007, 23:32

Flash liegt von Haus aus immer oben...

Du kannst mal

Code: Alles auswählen

<param value="transparent" name="wmode"/>
testen, sollte eigentlich helfen.

Gruß,
Thomas

matthiasschnueriger
Beiträge: 60
Registriert: Mo 28. Nov 2005, 16:01
Kontaktdaten:

Output Fehler

Beitrag von matthiasschnueriger » Di 27. Mär 2007, 09:04

Hallo zusammen

Keine Ahnung weshalb, aber der Output-Code im Modul gibt mir eine Fehlermeldung. Ich habe das Modul wirklich nur kopiert und wieder eingefügt..!?

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($start)) {
  $iCurrentPage = $start;
} else {
  $iCurrentPage = 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();
	}
	
	$aLinks = array();
	
	if ($iCurrentPage > 1) {
		$o
PreviousTpl = 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/lightbox-gallery_link.html", true, false);
	}
	
	if (($iCurrentPage < $iPages) && $iCurrentPage) {
		$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/lightbox-gallery_link.html", true, false);
	}
	
	$oGalleryTpl->set("s", "NAVIGATION", implode("", $aLinks));
	
	$oGalleryTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery.html", false, false);
}

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 '';
	}
}
?>

Gesperrt