Seite 4 von 33

Verfasst: Do 15. Mär 2007, 09:02
von BagHira
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.

bitte helft mir

Verfasst: Do 15. Mär 2007, 11:33
von michaelz
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

Verfasst: Do 15. Mär 2007, 17:31
von stb
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?

Verfasst: Do 15. Mär 2007, 19:52
von BagHira
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:

Verfasst: Do 15. Mär 2007, 22:08
von stb
Es klappt!! :shock: :lol:
Vielen, vielen Dank für deine schnelle Hilfe!! :D :D

Darstellungsproblem

Verfasst: Fr 16. Mär 2007, 15:04
von ClemensSchnitzler
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

Verfasst: So 18. Mär 2007, 12:16
von tommo
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

ModRewrite

Verfasst: So 18. Mär 2007, 20:00
von BagHira
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 :-)

Danke!

Verfasst: Mo 19. Mär 2007, 15:16
von Thorsten G.
Danke für das Super-Modul!

Verfasst: So 25. Mär 2007, 22:27
von womic2000
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".

Verfasst: Mo 26. Mär 2007, 11:19
von sircancellot
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??

Verfasst: Mo 26. Mär 2007, 14:46
von silicone
@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

Verfasst: Mo 26. Mär 2007, 20:55
von womic2000
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.

Verfasst: Mo 26. Mär 2007, 23:32
von silicone
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

Output Fehler

Verfasst: Di 27. Mär 2007, 09:04
von matthiasschnueriger
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 '';
	}
}
?>