Hallo, lieber Forumbenutzer. 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 Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen, für deine Fragen/Probleme aktuell (zusätzlich) 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: http://redaxo.org/slack/
dj-giver
Beiträge: 79
Registriert: 8. Sep 2009, 13:30

Hilfe bei PHP-Schleife

31. Aug 2014, 09:40

Hallo Leute,

leider möchten meine PHP-Kenntnisse nicht so wie ich möchte.
Ich versuche mit REX_MEDIALIST_BUTTON[1] und REX_LINKLIST_BUTTON[1] eine reihe mit Bildern zu erzeugen. Diesen Code versuche ich umzubauen, das auf jedes Bild ein anderer externer Link geht.
Leider weis ich nicht wie die Schleife angepasst werden muss.

Es sind 6 DIV-Kästchen in Reihe und zwei Reihen übereinander, jeder Kasten ein anderes Bild mit passendem Link, ohne Lightbox.

Hat jemand eine Idee?

In

Code: Alles auswählen

REX_MEDIALIST_BUTTON[1] <br />
REX_LINKLIST_BUTTON[1] <br />
Out

Code: Alles auswählen

<div id="alle1">

    <?php

    if ("REX_MEDIALIST[1]" != "")
    {
    $i=0; // i reset auf 0
      $arr = explode(",","REX_MEDIALIST[1]");
      $anzahlbilder=(count(arr)+1); // Anzahl aller Bilder
      foreach ($arr as $value) {
      $i++; // pro schleife hoch zählen +1

      echo '<div class="box03_rahmen"><a rel="lightbox" href="files/'.$value.'" >
    <img src="index.php?rex_resize=40c__40h__'.$value.'" alt="" />
    </a></div><div class="leer01"></div>';

       if($i % 6 === 0) echo '<div class="leer02"></div>'; // nach jedem 6 Bild dies
      }
    }

    ?>
	
</div>
CSS

Code: Alles auswählen

#alle1 {	border:0px solid #000000;
	width:1000px; 
	padding:15px 0px 0px 0px; 
	margin: 0 auto;
	
	}
	
.box03_rahmen {	float: left;
	border:0px solid #78787a;
	width:150px; 
	height: 80px;
	color: #575756;
	margin-left: 0px;
	background-color:#78787a;
	}

.leer01 {float: left;
	padding:5px 10px 5px 10px; 
	}

.leer02 {float: left;
	height: 10px;
	border:0px solid #f58232;
	width:100%;
	}

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Hilfe bei PHP-Schleife

31. Aug 2014, 10:31

Wenn du von einer Schleife redest, solltest du auch eine in deinem Code haben ;)
Und hast du schon mal gegoogelt zuerst? ;)

Wenn ich nämlich nach "php schleife" google komme ich auf jede Menge Tutorials zu dem Thema, so dass man seine Wissenlücke hier auffüllen kann.

Und wenn ich nach "rex media button schleife" google, gibts sogar auch ein paar Treffer ;)

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

Re: Hilfe bei PHP-Schleife

31. Aug 2014, 11:30

Moin,

@rexdude: Ich sehe für die Medialist eine Schleife, oder definieren wir das unterschiedlich? Das Problem scheint für mich eher die zwei zu durchlaufenden Listen zu sein.

@dj-giver: Ich habe den Code nicht getestet. Wenn er funktioniert, sollte es eigentlich reichen, die Linkliste ebenfalls per explode in ein Array zu übertragen und mitlaufen zu lassen, das geht mit foreach und einem index, kann aber auch mit einer for Schleife gemacht werden. Sinnvoll wäre es, vorher zu checken, ob die Anzahl der Bilder und die Anzahl der Links übereinstimmen und entsprechend zu reagieren, wenn nicht.
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

Meusi
Beiträge: 158
Registriert: 18. Mär 2009, 16:18

Re: Hilfe bei PHP-Schleife

31. Aug 2014, 11:37

Code: Alles auswählen

$anzahlbilder=(count(arr)+1); // Anzahl aller Bilder
er kennt die Konstante "arr" nicht :) Da fehlt das Dollarzeichen

--- Topic gelesen: ---

Code: Alles auswählen

<div id="alle1">

    <?php

    if ("REX_MEDIALIST[1]" != "")
    {
        $arr = explode(",","REX_MEDIALIST[1]");
        $links = explode(',', 'REX_LINKLIST[1]');
        $anzahlbilder=(count($arr)+1); // Anzahl aller Bilder
        foreach ($arr as $i => $value) {
            
            $link = $link[$i];

            echo '<div class="box03_rahmen"><a rel="lightbox" href="files/'.$value.'" >
    <img src="index.php?rex_resize=40c__40h__'.$value.'" alt="" />
    </a></div><div class="leer01"></div>';

            if($i % 6 === 0) echo '<div class="leer02"></div>'; // nach jedem 6 Bild dies
        }
    }

    ?>

</div>
Gruß Meusi
Zuletzt geändert von Meusi am 31. Aug 2014, 11:46, insgesamt 1-mal geändert.
Folgende Threads stehen offen:

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Hilfe bei PHP-Schleife

31. Aug 2014, 11:44

Oh ja sorry, hab die foreach doch glatt übersehen :mrgreen:

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

Re: Hilfe bei PHP-Schleife

31. Aug 2014, 12:03

Meusi hat's schon aufgelöst ;)

allerdings sehe ich noch zwei Typos:

Code: Alles auswählen

$link = $links[$i];

echo '<div class="box03_rahmen"><a href="'.$link.'" ><img src="index.php?rex_resize=40c__40h__'.$value.'" alt="" /></a></div><div class="leer01"></div>';
 
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

dj-giver
Beiträge: 79
Registriert: 8. Sep 2009, 13:30

Re: Hilfe bei PHP-Schleife

31. Aug 2014, 13:40

Vielen Dank an euch alle!!!
:D :D :D :D :D

Zurück zu „Sonstiges“