[Gelöst] Wechselndes Bild bei jedem Seitenaufruf

Hilfe zu Modulen und Tags
Post Reply
Vicky
Forum Members
Forum Members
Posts: 73
Joined: Thu Jun 28, 2007 5:04 am

[Gelöst] Wechselndes Bild bei jedem Seitenaufruf

Post 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
Last edited by compufairy on Mon Dec 27, 2010 11:17 pm, edited 1 time in total.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: Wechselndes Bild bei jedem Seitenaufruf

Post 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";
		}
	}	
}		
[this message is written with 100% recycled bits]
NaN

Re: Wechselndes Bild bei jedem Seitenaufruf

Post by NaN »

Im GalaPurity Template wurde das ganze sogar nur mit smarty gelöst.
Vicky
Forum Members
Forum Members
Posts: 73
Joined: Thu Jun 28, 2007 5:04 am

Re:Gelöst Wechselndes Bild bei jedem Seitenaufruf

Post 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
cyberman

Re: Wechselndes Bild bei jedem Seitenaufruf

Post by cyberman »

Als dritte Alterantive gäbe es noch "random image"

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

Return to “Module und Tags”