Page 1 of 1

[Gelöst] Wechselndes Bild bei jedem Seitenaufruf

Posted: Mon Nov 22, 2010 1:37 pm
by Vicky
Hallo,
ich möchte in der Sidebar meiner Seite, bei jedem Seitenaufruf ein anderes Bild anzeigen lassen.
Es soll ein zufällig gewähltes Bild aus einem Ordner sein, dass dann aber nicht mehr wechselt, bis man eben auf die nächste Seite klickt.
Hat jeamand eine Idee ?

Danke

Re: Wechselndes Bild bei jedem Seitenaufruf

Posted: Mon Nov 22, 2010 1:56 pm
by nockenfell
Ich habe mir dazu folgendes UDT geschrieben. Du kannst es entsprechend anpassen.

Es zeigt eine bestimmte Anzahl zufälliger Bilder aus einem definierten Ordner an. Die Bilder müssen *_thumb heissen und haben einen Link auf ein grossen Bild angehängt.

Das kannst du danach natürlich ganz anders machen. Die Kernroutine kannst du für alles mögliche brauchen.

Code: Select all

if ($params["pfad"] == "") echo "kein Bildpfad ausgefüllt.";
else {
	if ($params["anzahl"] == "") $params["anzahl"] = 2;
	if (substr($params["pfad"],0,1) != "/") $params["pfad"] = "/".$params["pfad"];
	if (substr($params["pfad"],-1) != "/")   $params["pfad"] .= "/";
	
	$bilderdir = $_SERVER["DOCUMENT_ROOT"].$params["pfad"];

	$extList = array();
	$extList['gif'] = "image/gif";
	$extList['jpg'] = "image/jpeg";
	$extList['jpeg'] = "image/jpeg";
	$extList['png'] = "image/png";

	$img = null;
	
	// Dateien aus dem bilderdir in ein Array lesen
	
	$bilderfileList = array();
	$handle2 = opendir($bilderdir);
	while ( false !== ( $file2 = readdir($handle2) ) )
	{
		$file_info2 = pathinfo($file2);
		if (isset( $extList[ strtolower( $file_info2['extension'] ) ] ) and strpos($file2,"humb_") == 0 and strpos($file_info2['filename'],"_thumb") != False )
		{
			$bilderfileList[] = $file2;
		}
	}
	closedir($handle2);

	if (count($bilderfileList) == 0)
		echo "Der angegebene Ordner ".$params["pfad"]." enthält keine Bilder";
	else {	
		
		// Reihenfolge der Arrays zufällig mischen
				
		shuffle($bilderfileList);
				
		for ($i=0;$i<$params["anzahl"];++$i) {
			
			$url = str_replace("_thumb","",$params["pfad"].$bilderfileList[$i]);
			$pathinfo = pathinfo($url);
			$titel = str_replace("_"," ",$pathinfo["filename"]);
			$groesse=getimagesize($bilderdir.$bilderfileList[$i]);
			echo "<p><div class='captionborder' style='width:".$groesse[0]."px'><a href=\"".$url."\"><img src=\"".$params["pfad"].$bilderfileList[$i]."\"  alt=\"".$titel."\" /></a></div></p>\r\n";
		}
	}	
}		

Re: Wechselndes Bild bei jedem Seitenaufruf

Posted: Mon Nov 22, 2010 4:03 pm
by NaN
Im GalaPurity Template wurde das ganze sogar nur mit smarty gelöst.

Re:Gelöst Wechselndes Bild bei jedem Seitenaufruf

Posted: Mon Nov 22, 2010 6:41 pm
by Vicky
Vielen Dank!
Ich habe es mit dem "UDT" probiert und habe es sogar zum laufen gebracht.
Habe noch den Hinweis gefunden, dass man den tag dann so einbinden muss:
{tagname pfad="/uploads/images/ordner" anzahl="2"} und dass es in diesem Ordner dann immer
je  bild.jpg und bild_thumb.jpg geben soll.

Allerdings würde ich das mit dem Link u noch gerne weg haben...will einfach nur je Seitenaufuf ein Bild ohne Link.

Ich werde mich morgen noch daran versuchen.
Aber sonst: GENIAL!
Danke

Re: Wechselndes Bild bei jedem Seitenaufruf

Posted: Mon Nov 22, 2010 8:53 pm
by cyberman
Als dritte Alterantive gäbe es noch "random image"

http://dev.cmsmadesimple.org/projects/rndimgsel