Hallo zusammen,
ich habe in minem Template einen Platz für Bilder, den ich gerne nutzen möchte um nach jedem neuen laden einer Seite ein anderes Bild (aus dem Bilder-Pool) anzeigen zu lassen (Bilder rotieren).
Ich habe es versucht direkt in die Template-Datei den PHP Code zu schreiben, doch leider ohne Erfolg. Denke dass die Datei nicht mehr durch den Parser läuft ??
Wie kann ich es dann hinbekommen dass sich die Bilder ständig abwechseln??
Hier mal das Skript was ich verwenden wollte:
<?PHP
mt_srand((double)microtime()*1000000);
$zufall = mt_rand(1, 25);
echo "<img src=\"pfad_zu_den_bildern/$zufall.jpg\" border=\"0\">\n";
?>
Hier müssen die Bilddateien in dem gleichen Verzeichnis liegen und durchnumeriert sein.
Hat jemand vielleicht schon mal so was "simples" realisiert und kann mir bitte unter die Arme greifen.
Vielen Dank für wirklich jeden Vorschlag!!
Grüße
Hardy
Also wenn du unbedingt deinen eigenen Code verwenden willst, dann suche mal im Forum nach "PHP Code einbinden"
Du kannst also deinen Code ohne Probleme an einem Marker ausgeben.
Einfacher wäre jedoch diese Extension:
http://typo3.org/extensions/repository/view/wag_randomimage/1.3.1/
oder diese:
http://typo3.org/extensions/repository/view/cc_random_image/2.0.0/
So. HIer mal mein Quellcode:
<?php
$content='';
$verz = opendir ('fileadmin/Dein Pfad zu Bilder');
$bildarray = array();
while ($file = readdir ($verz)) {
if ((!is_dir($file)) && ($file != ".") && ($file != "..") ){
array_push($bildarray, $file);
}
}
closedir($verz);
shuffle($bildarray);
$content = $content."<img src=\"fileadmin/Dein Pfad zu Bilder/".$bildarray[1]."\" >";
?>
Damit liest er alle Bilder aus dem genannten Verzeichnis aus und wählt zufällig eins aus.
Müssen allerdings die Richtige Größe haben.
hiermit bindest du es ein:
10.marks.DEIN MARKER = PHP_SCRIPT
10.marks.DEIN MARKER.file = fileadmin/Dein Pfad/image.php
das Skript heisst image.php und liegt in Dein Pfad.
Die Bilder liegen in Dein Pfad zu Bilder. Pass es dir an und viel Spaß;-)
Vielen Dank für die schnellen Antworten, ihr seid Spitze!!
Ich werde es mir anpassen, vielen Dank!!!
Liebe Grüße
Hardy
Hallo Chumper,
ich habe noch eine kleine Frage.
Ich habe das Skript angepasst, vielen Dank. Soweit funktioniert es auch, doch es scheint mir, dass es im Cache gespeichert wird, welches Bild auf welcher Seite dargestellt wurde.
Wenn ich z.B. in der index.php immer wieder auf aktualisieren drücke, bleibt das Bild immer das selbe und wechselt nicht durch.
Kann man da noch was "optimieren"????
Vielen Dank nochmal!!!
Grüße
Hardy
Hm... Vll wenn du im Typoscript folgendes eingibst:
10.marks.DEIN MARKER = PHP_SCRIPT_INT
10.marks.DEIN MARKER.file = fileadmin/Dein Pfad/image.php
siehe auch hier:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/UserAndUserInt/Index.html
WOW! Vielen Dank, es funktioniert!!!
Vielen vielen Dank!!!!!!!
habe dein script genommen ... funktioniert soweit, nur leider bekomme ich jetzt diese warnung oberhalb meiner seite:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/typo3.cs-gate.de/fileadmin/templates/CDH-Nordost/images/random/image.php:15) in /var/www/typo3.cs-gate.de/typo3_src-4.1.1/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2898
Poste doch mal mehr Informationen (das PHP File und den betreffenden TS Code) vielleicht kann ich dir helfen.
Grüße
Hardy
Das Problem liegt wohl daran, dass du vor dem <?php ein oder mehrere Leerzeichen hast, oder nach dem ?>.
Mach die weg, dann sollte das gehen;-)