[erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random, wie?

Wie verwendet man Module oder Aktion und passt diese an.

[erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random, wie?

Beitragvon Include » 14. Feb 2011, 14: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
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

Beitragvon darwin » 22. Feb 2011, 12: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 ;)
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

Beitragvon Include » 23. Feb 2011, 14: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!
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

Beitragvon ralf.schlott » 7. Sep 2011, 12: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
Benutzeravatar
ralf.schlott
 
Beiträge: 426
Registriert: 5. Dez 2007, 20:22
Wohnort: Hamburch

Re: [erledigt] Reihenfolge von REX_MEDIALIST_BUTTON random,

Beitragvon Include » 7. Sep 2011, 19: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
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: Dr.No! und 2 Gäste