[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random, wie? - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Include
Beiträge: 107
Registriert: 30. Mär 2007, 21:22

[erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random, wie?

14. Feb 2011, 15:49

Hallo Forum, könnte mir jemand bei einem Problem helfen?
Ich habe ein Modul mit dem man im Backend eine einfache Liste von Bildern aus dem Medienpool erstellen kann. Im Frontend wird dann aus jedem Bild in der Liste zusätzlich die Bildbeschreibung und ein Link abgefragt. Für den Link habe ich in den Metainformationen ein eigenes Feld hinzugefügt was mir erlaubt zu jedem Bild eine URL zuzuordnen.

Im Ergebnis habe ich in der Ausgabe dann eine Liste von Bildern die alle mit einer URL verknüpft sind. Soweit so gut. Nun möchte ich aber das ganze um folgende 2 Features erweitern:

1) Die Bilder sollen im Frontent nicht in der gleichen Reihenfolge ausgegeben werden wie ich es im Backend durch REX_MEDIALIST_BUTTON eingegeben habe sondern zufällig.

2) Im Frontend sollen die Bilder mit einem padding-right versehen werden welches ebenfalls jedes mal per random einen aus drei werten nimmt. (also z.B 5,10,15)

Code: Alles auswählen

<?php  echo "\r\n";  ?>

	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
	<script type="text/javascript" src="files/addons/image_overlay/jquery.metadata.js"></script>
	<script type="text/javascript" src="files/addons/image_overlay/jquery.ImageOverlay.js"></script>
<?php 
 // Bilddateien aus Medialist 
 $rxmodule['imagelist'] = explode(',', trim("REX_MEDIALIST[1]")); 

echo '<ul id="firstGallery" class="image-overlay"><!-- IMAGE WALL -->'; 
echo "\r\n"; 

foreach ($rxmodule['imagelist'] as $rxmodule['file']) 
 { 

$rxmodule['media'] = OOMedia::getMediaByName($rxmodule['file']); 
 if ($rxmodule['media']) 
 { 

$rxmodule['mediatitle'] = $rxmodule['media']->getValue('title');
$rxmodule['mediadesc'] = $rxmodule['media']->getValue('med_description'); 
$rxmodule['medialink'] = $rxmodule['media']->getValue('med_linkto'); 

 if (trim($rxmodule['mediatitle']=='') or !$rxmodule['mediatitle']) 
 { 
 $rxmodule['mediatitle'] = $rxmodule['file']; //kein Titel = Dateiname 
  } 
echo " \r";
echo '<li><a href="'.rex_getUrl($rxmodule['medialink']).'"><img alt="'.$rxmodule['mediatitle'].'" src="'. 'files/' . $rxmodule['file'].'" /><div class="caption"><p>'.$rxmodule['mediadesc'].'</p></div></a></li>'; 
echo "\r\n\n"; 
      } 
   } 
echo '</ul><!-- /IMAGE WALL -->'; 
echo "\r\n\n"; 
?>
<script type="text/javascript">
// JavaScript for the Image Overlay galleries.
$("#firstGallery").ImageOverlay();
</script>
Weis jemand wie ich es da einbauen kann?

Danke + Grüße
Include

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

22. Feb 2011, 13:39

Hi,

random/zufall

Code: Alles auswählen

$rxmodule['imagelist'] = explode(',', trim("REX_MEDIALIST[1]"));
shuffle($rxmodule['imagelist']);
das gleiche mit dem padding...
einfach die Werte in ein Array rein + shuffle

grz. Chris


Edit: ah.. is schon erledigt ;)

Include
Beiträge: 107
Registriert: 30. Mär 2007, 21:22

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

23. Feb 2011, 15:55

hi chris,
großen dank an deine hilfe.
aber ich hatte den artikel als erledigt markiert ohne selbst die lösung zu posten.
(zeitmangel) sorry!
habe aber auch den gleichen weg wie du gewählt. deine antwort hat mich darin bestätigt das der weg ok war.

danke!

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

7. Sep 2011, 13:29

Es ist zwar schon etwas her... aber was war denn deine Lösung?
Vielleicht hilft das ja mir (und anderen) in so manchem Puzzlespiel?

Dank
Ralf
- Danke für Redaxo! -
http://www.prenzlweb.de

Include
Beiträge: 107
Registriert: 30. Mär 2007, 21:22

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

7. Sep 2011, 20:59

Ich glaube ich habe daraus dieses Modul gebaut:
Ist ja schon so lange her. In meinem Beispiel werden einfach die durch Komma getrennten Werte wieder zerpflückt und als Abstand verwendet.

Dann habe ich als Zusatz noch jedes Bild automatisch mit einem Link versehen. Die Url dazu kommt aus einem zusätzlichen Feld das ich im Medienpool hinzugefügt habe. (med_linkto)

Eingabe:

Code: Alles auswählen

<strong>Bitte Bilder auswählen:</strong>
<br />REX_MEDIALIST_BUTTON[1]
<br />

<strong>Abstände:</strong><br />
<input type="text" name="VALUE[1]" value="REX_VALUE[1]" size="80" class="inp100" />
<br /><br />
Ausgabe:

Code: Alles auswählen

<?php
// Werte für Abstände auslesen
$paddings = explode(',', trim("REX_VALUE[1]")); 

 // Bilddateien aus Medialist holen
 $rxmodule['imagelist'] = explode(',', trim("REX_MEDIALIST[1]")); 

echo '<div class="randomwall">'; 


shuffle($rxmodule['imagelist']);
foreach ($rxmodule['imagelist'] as $rxmodule['file']) 
 { 

// File = Imageliste
//echo $rxmodule['file'];

$rxmodule['media'] = OOMedia::getMediaByName($rxmodule['file']); 
 if ($rxmodule['media']) 
 { 

$rxmodule['mediatitle'] = $rxmodule['media']->getValue('title');
$rxmodule['mediadesc'] = $rxmodule['media']->getValue('med_description'); 
$rxmodule['medialink'] = $rxmodule['media']->getValue('med_linkto'); 

 if (trim($rxmodule['mediatitle']=='') or !$rxmodule['mediatitle']) 
 { 
 $rxmodule['mediatitle'] = $rxmodule['file']; //kein Titel = Dateiname 
  } 

// Zufallszahl für die Arrayposition aus REX_VALUE[1] generieren
$zufall = rand(0,4);

echo '<a href="'.rex_getUrl($rxmodule['medialink']).'"><img style="padding-right:'.$paddings[$zufall].'px; padding-left:'.$paddings[$zufall].'px;" src="'. '././files/' . $rxmodule['file'].'" alt="'.$rxmodule['mediatitle'].'" /></a>'; 
echo "\r\n\n";
      } 
   } 
echo '</div>';
?>
Ist mehr quick'n dirty aber müsste gehen.
Grüße

Zurück zu „Allgemeines [R4]“