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
[Gelöst] Wechselndes Bild bei jedem Seitenaufruf
[Gelöst] Wechselndes Bild bei jedem Seitenaufruf
Last edited by compufairy on Mon Dec 27, 2010 11:17 pm, edited 1 time in total.
-
- Power Poster
- Posts: 751
- Joined: Fri Sep 12, 2008 2:34 pm
- Location: Schweiz / Switzerland
Re: Wechselndes Bild bei jedem Seitenaufruf
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.
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]
Re: Wechselndes Bild bei jedem Seitenaufruf
Im GalaPurity Template wurde das ganze sogar nur mit smarty gelöst.
Re:Gelöst Wechselndes Bild bei jedem Seitenaufruf
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
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