Tizian
Beiträge: 150
Registriert: 4. Apr 2008, 11:58
Wohnort: Bremen
Kontaktdaten: Website

[solved] Medienkategorie auslesen in R5

12. Jan 2017, 14:08

hallo,
kann mir jemand bei der übersetzung von diesem codeschnipsel in das R5 framework behilflich sein?

Code: Alles auswählen

  
$category = OOMediaCategory::getCategoryById(REX_VALUE[5]);
$mediafiles  = $category->getFiles();
danke!
Zuletzt geändert von Tizian am 13. Jan 2017, 13:37, insgesamt 1-mal geändert.
schöne grüße
tizian
********************************
ansichtsache TM

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1176
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Medienkategorie auslesen in R5

12. Jan 2017, 15:36

Code: Alles auswählen

$category = rex_media_category::get(REX_VALUE[5]);
$mediafiles  = $category->getMedia();
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Tizian
Beiträge: 150
Registriert: 4. Apr 2008, 11:58
Wohnort: Bremen
Kontaktdaten: Website

Re: Medienkategorie auslesen in R5

12. Jan 2017, 16:02

danke gregor,
langsam blicke ich es…

jetzt hänge ich mit meinen rudimentären php-kenntnissen noch hier:

Code: Alles auswählen

$category = rex_media_category::get(REX_VALUE[5]);
$mediafiles  = $category->getMedia();

$imagelist2 = explode(',', '$mediafiles');

foreach ($imagelist2 as $file) {
				$media = rex_media::get($file);

echo '<a href="'.rex_url::base('media/'.$file).'" ><img src="'.rex_url::base('index.php?rex_media_type=thumb&rex_media_file='.$file.'').'" alt=" "  /></a>';
}
ich will eine liste der in der medienkategorie enthaltenen files.

ich schätze der fehler liegt in der falschen verwendung des 'explode'…
wie bekomme ich das array mit allen $mediafiles aufgelöst?
schöne grüße
tizian
********************************
ansichtsache TM

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1176
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Medienkategorie auslesen in R5

12. Jan 2017, 16:30

$mediafiles ist schon ein Array von Medienobjekten, da brauchst du kein explode mehr.

So in der Art würde ich das wohl schreiben:

Code: Alles auswählen

$category = rex_media_category::get(REX_VALUE[5]);
$mediafiles  = $category->getMedia();

foreach ($mediafiles as $file) {
    echo '<a href="'.rex_url::media($file->getFileName()).'" ><img src="'.rex_url::frontendController(['rex_media_type' => 'thumb', 'rex_media_file' => $file->getFileName()]).'" alt=" "  /></a>';
}
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Tizian
Beiträge: 150
Registriert: 4. Apr 2008, 11:58
Wohnort: Bremen
Kontaktdaten: Website

Re: Medienkategorie auslesen in R5

13. Jan 2017, 12:15

hallo gregor,

erstmal danke für deine hilfe!

leider schmeißt er mir für das getMedia einen fehler aus:

"ErrorException" thrown in rex:///module/15/output on line 33
Fatal error: Call to a member function getMedia() on a non-object

liegt's an R5 vs R4?
schöne grüße
tizian
********************************
ansichtsache TM

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1176
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Medienkategorie auslesen in R5

13. Jan 2017, 12:25

Bedeutet: Die Medienkategorie existiert nicht.
War in R4 genauso.

Wenn das vorkommen kann, musst du das abfangen:

Code: Alles auswählen

if ($category) {
     // kategorie existiert
} else {
     // kategorie existiert nicht
} 
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Tizian
Beiträge: 150
Registriert: 4. Apr 2008, 11:58
Wohnort: Bremen
Kontaktdaten: Website

Re: Medienkategorie auslesen in R5

13. Jan 2017, 13:36

hi gregor,

super, danke!
jetzt klappt das mit der ausgabe.
mit diesem code bekomme ich die medienkategorie meiner wahl ausgegeben:

Code: Alles auswählen

$category = rex_media_category::get(REX_VALUE[5]);

if ($category) {     

$mediafiles  = $category->getMedia();

foreach ($mediafiles as $file) {

echo '<a href="'.rex_url::media($file->getFileName()).'" >
<img src="'.rex_url::frontendController(['rex_media_type' => 'thumb', 'rex_media_file' => $file->getFileName()]).'" alt=" "  /><p>'.$file->getFileName().'</p></a>';

}
} else {

echo 'Kategorie nicht vorhanden';

} 
ein ähnlicher code zum thema, von darwin: http://www.redaxo.org/de/forum/module-a ... 21509.html

moduleingabe zur auswahl einer medienpoolkategorie per select für R5:

Code: Alles auswählen

$cats = new rex_media_category_select();
$cats->setStyle('class="rex-form-select"');
$cats->setSize(1);
$cats->setName('REX_INPUT_VALUE[5]');
$cats->setSelected('REX_VALUE[5]');
echo $cats->get();
schöne grüße
tizian
********************************
ansichtsache TM

aludch
Beiträge: 1
Registriert: 9. Apr 2018, 10:16

Re: [solved] Medienkategorie auslesen in R5

9. Apr 2018, 10:18

Ich habe ein ähnliches Problem.
Kann zwar die Medienkategorien anzeigen, aber nur untereinander.
Wie kann ich die Bilder aber nebeneinander anzeigen und am Bildende automatisch auf die nächste Zeile umbrechen?

Danke für Eure Hilfe
Andreas

Zurück zu „Module/Aktionen [R5]“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast