joaopinto
Beiträge: 120
Registriert: 28. Jun 2006, 14:16
Wohnort: Österreich

Zufallsausgabe (random) aus Medienkategorie

2. Nov 2017, 14:06

Hallo liebe Redaxianer,

ich habe in einem Redaxo-Template ein Random PHP Include Script laufen, um in einem Slider auf der Startseite per Zufall ein Foto mit einer Bildunterschrift auszugeben. Diese Daten hole ich zur Zeit jedoch noch aus externen .htm Files, und ich frage mich, ob es einen einfachen Weg gibt, dies über REX_MEDIALIST sowie den Meta Infos zu lösen.

Sprich, es sollten aus einem bestimmten Medienordner alle Bilder ausgelesen werden und per Random-Skript ein Bild inkl. Meta-Infos (Beschreibung) ausgewählt werden. Bild-URL und Beschreibungstext (Meta-Info) sollten dann getrennt als Variablen im Template mehrfach eingesetzt werden können (da ich für eine mobile Ansicht ein eigenes DIV verwende).

Hier das simple eingesetzte Random Skript:

Code: Alles auswählen

<?PHP
$includes = array('bildinfo1', 'bildinfo2', 'bildinfo3', 'bildinfo4', 'bildinfo5');
include $includes[mt_rand(0, count($includes)-1)];
?> 
Besten Dank im voraus für jeden Tipp!

Benutzeravatar
runstop64
Beiträge: 339
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

Re: Zufallsausgabe (random) aus Medienkategorie

2. Nov 2017, 17:37

Hi,

Du kannst aus einer REX_MEDIALIST auch ein Array erzeugen, aus dem du dann ein Bild per Zufall wählen kannst.
oder du liest eine Medienkategorie aus:

Code: Alles auswählen

rex_media_category::get($id)->getMedia();
und arbeitest mit dem Array das du damit erhältst.
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

joaopinto
Beiträge: 120
Registriert: 28. Jun 2006, 14:16
Wohnort: Österreich

Re: Zufallsausgabe (random) aus Medienkategorie

3. Nov 2017, 14:43

Danke für den Hinweis, ich taste mich mal langsam heran... als Ergebnis möchte ich ja zwei einsetzbare Variablen mit jeweils dem Dateinamen und der Metainfo Beschreibung.
Das klappt in dem Versuch unten (siehe Code) bereits ganz gut.
Ist das so auch halbwegs richtig? Kann man das schöner lösen? (ich hab nicht viel Ahnung von PHP)

Code: Alles auswählen


$id = 5;
$category = rex_media_category::get($id);

if ($category) {     

/* Das Array über mediafiles */
$mediafiles = $category->getMedia();

/* Zufallsausgabe über mt_rand */
$randomfile = $mediafiles[mt_rand(0, count($mediafiles)-1)];

//Dateiname auslesen
$media =  $randomfile->getFileName();

//Metainfo Beschreibung
$media_description =  $randomfile->getValue('med_description');

echo '<p><img src="media/'.$media.'" alt=" "  /><br>'.$media_description.'</p>';

} 

Benutzeravatar
runstop64
Beiträge: 339
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

Re: Zufallsausgabe (random) aus Medienkategorie

3. Nov 2017, 16:45

Hi,

das sieht gut aus.
Ich würde noch den Medientitel auslesen und als alt-Text ausgeben um es abzurunden.
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

Zurück zu „Allgemeines [R5]“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste