image_rotator andere Seite - andere Bilder
image_rotator andere Seite - andere Bilder
Hallo,
ich möchte gerne einen Bildwechsel in mein Template integrieren. Dies scheint nach Durchsicht dieses Forums mit dem Tag image_rotator möglich zu sein.
Ich möchte aber für unterschiedliche Seiten unterschiedliche Bilder anzeigen, ohne jeweils ein neues Template zu nutzen.
Gibt es dafür eine Möglichkeit?
Vielen Dank
Marcus
ich möchte gerne einen Bildwechsel in mein Template integrieren. Dies scheint nach Durchsicht dieses Forums mit dem Tag image_rotator möglich zu sein.
Ich möchte aber für unterschiedliche Seiten unterschiedliche Bilder anzeigen, ohne jeweils ein neues Template zu nutzen.
Gibt es dafür eine Möglichkeit?
Vielen Dank
Marcus
- lollipop27
- Forum Members
- Posts: 237
- Joined: Wed Sep 12, 2007 4:09 pm
Re: image_rotator andere Seite - andere Bilder
Ich kann mich nicht mehr richtig daran erinnern. Aber so wie ich das in Erinnerung habe, kann man dort doch ein Verzeichnis angeben, aus dem die Bilder ausgewählt werden.
Dann setzt doch als Verzeichnisnamen eine Variable wie {title} und leg für jeden Titel nen Ordner mit Bildern an...
Dann setzt doch als Verzeichnisnamen eine Variable wie {title} und leg für jeden Titel nen Ordner mit Bildern an...
-
- Power Poster
- Posts: 751
- Joined: Fri Sep 12, 2008 2:34 pm
Re: image_rotator andere Seite - andere Bilder
Ich habe mal was ähnliches gemacht und dafür einen UDT geschrieben:
Voraussetzung in diesem Beispiel war ein Ordner mit einer Datei bild.jpg und bild_thumb.jpg. Das Thumbnail wurde als Vorschau angezeigt und per Lightbox auf das grosse Bild verlinkt.
Einsetzen kannst du den Tag mit
Es werden im obigen Beispiel immer 2 Bilder aus dem Ordner "/uploads/images/ordner" nach dem Zufallsprinzip angezeigt.
Der Tag image_rotator zeigt meines Wissens einfach mehrere Bilder in einer Art Diashow an.
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";
}
}
}
Einsetzen kannst du den Tag mit
Code: Select all
{tagname pfad="/uploads/images/ordner" anzahl="2"}
Der Tag image_rotator zeigt meines Wissens einfach mehrere Bilder in einer Art Diashow an.
[this message is written with 100% recycled bits]
Re: image_rotator andere Seite - andere Bilder
vielen dank, ich werde es in den nächsten Tagen ausprobieren.
Marcus
Marcus
Re: image_rotator andere Seite - andere Bilder
Damit werden bei mir wechselnde Bilder angezeigt indem alle files ausgelesen werden und eines genommen wird:
Wenn du z.B. die verschiednen Bilder für die verschiedenen seiten in Unterordner mit den jeweiligen Seitennamen gibst, dann einfach $dir damit erweitern:
Wenn du pro Seite nur ein Bild haben willst, einfach folgende Lösung:
Bild mit präfix des Seitenalias und immer gleichen Bildnamenspeichern, also z.B. SEITENALIAS_BILDNAME.jpg
bei img das src="mein/Verzeichnis/{$spage_alias}_BILDNAME.jpg"
Code: Select all
$dir = "uploads/dirname";
$files = array();
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file != '..')
$files[] = $file;
}
closedir($handle);
}
if( ($c = sizeof($files)) > 0) {
srand ((double)microtime()*1000000);
$i = rand(0,($c-1));
echo '<img src="'.$dir.'/'.$files[$i].'" alt="Logo" /><br />';
// Das untere benutze ich wenn ich das Bild als Background-Image haben will, jedoch nicht in der CSS-Datei möglich
// echo $dir.'/'.$files[$i]; <-
}
Code: Select all
$dir = "uploads/dirname/"; // den / hinzufügen
$dir .= $page_alias; //Unterordner hat Namen des Seitenalias
Bild mit präfix des Seitenalias und immer gleichen Bildnamenspeichern, also z.B. SEITENALIAS_BILDNAME.jpg
bei img das src="mein/Verzeichnis/{$spage_alias}_BILDNAME.jpg"
Re: image_rotator andere Seite - andere Bilder
Hallo,
endlich bin ich zu den ersten Versuchen gekommen. Die Anwendung vom Image_Rotator mit absoluten Pfadangaben funktioniert. Ist es denn möglich, wie lollipop27 vorschlug, dem Pfad den Seitentitel anzufügen, also ungefähr so: {image_rotator folder="uploads/images/{title}"}? So funktioniert es übrigens nicht.
Danke
Marcus
endlich bin ich zu den ersten Versuchen gekommen. Die Anwendung vom Image_Rotator mit absoluten Pfadangaben funktioniert. Ist es denn möglich, wie lollipop27 vorschlug, dem Pfad den Seitentitel anzufügen, also ungefähr so: {image_rotator folder="uploads/images/{title}"}? So funktioniert es übrigens nicht.
Danke
Marcus
- lollipop27
- Forum Members
- Posts: 237
- Joined: Wed Sep 12, 2007 4:09 pm
Re: image_rotator andere Seite - andere Bilder
Probier mal das:jadokus wrote: Ist es denn möglich, wie lollipop27 vorschlug, dem Pfad den Seitentitel anzufügen, also ungefähr so: {image_rotator folder="uploads/images/{title}"}? So funktioniert es übrigens nicht.
{capture assign="url"}uploads/images/{$title}{/capture}
{image_rotator folder=$url}
Re: image_rotator andere Seite - andere Bilder
Da der {title} aber diverse Sonderzeichen enthalten kann (Umlaute, Leerzeichen etc.) würde ich nicht den Titel einer Seite, sondern das Seiten-Alias nehmen:
Code: Select all
{image_rotator folder="uploads/images/$page_alias"}
Re: image_rotator andere Seite - andere Bilder
Vielen Dank, es funktionert mit image_rotator und dem wechselnden Ordner.
Marcus
Marcus