[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REX_VALUE dynamisch füllen - 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/
erraiva
Beiträge: 21
Registriert: 20. Nov 2006, 17:01
Wohnort: Bonn

REX_VALUE dynamisch füllen

15. Dez 2016, 19:42

Hallo Leute, vielleicht kann mir jemand helfen.

Für Moduleingaben möchte ich verschiedene Selectauswahlen über eine Funktion generieren lassen.
D.h. ich gebe ein Array und eine Input-Nummer an eine Funktion, die schreibt mir dann die Selects.

Das sieht so aus:

<------- die Funktion:

<?php
// Funktion generiert beliebige Selects
function generateSelectFromArray($array,$field){
echo '<select name="REX_INPUT_'.$field.'" class="form-control">';
foreach($array as $key => $value) {
echo '<option value="'.$key.'"';
if ($key == 'REX_VALUE[14]') echo ' selected="selected"';
echo'>'.$value.'</option>';
}
echo "</select>";
}
?>

<-------- und die beiden Variablen, die die Funktion bekommt:

$hlevel = array(''=>'..','h1'=>'h1','h2'=>'h2','h3'=>'h3','h4'=>'h4');
generateSelectFromArray($hlevel,'VALUE[14]');

So wie hier funktioniert es auch, nur ist bei der if-Abfrage REX_VALUE[14] noch fest eingegeben.
Ich möchte die if-Zeile auch mit der Variablen haben ($field), aber alles was ich versucht habe ging nicht. Wie bekomme ich das dort hin? -> if ($key == 'REX_VALUE[14]') echo '

Danke und herzlich
Heinz

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: REX_VALUE dynamisch füllen

16. Dez 2016, 01:44

Hallo,

das geht so nocht, da REX_VALUE[14] ja ein platzhalter ist und geparst wird bevor PHP ausgeführt wird.

Ein möglichkeit du liest die REX_VALUE[n] alle am anfang aus un pakst die in ein array oder veriable

Code: Alles auswählen

$values[1] = REX_VALUE[1];
$values[2] = REX_VALUE[2];
damit kannst ja dann weiter arbeiten.

Cheffchen

erraiva
Beiträge: 21
Registriert: 20. Nov 2006, 17:01
Wohnort: Bonn

Re: REX_VALUE dynamisch füllen

16. Dez 2016, 11:11

Hallo Cheffchen, danke für die rasche Antwort, ich habe es noch anders gelöst:

Die Funktion:

Code: Alles auswählen

<?php
// Funktion generiert beliebige Selects
function generateSelectFromArray($array,$opt,$sel){
echo '<select name="'.$sel.'" class="form-control">';
  foreach($array as $key => $value) {
  $selected = $key == $opt ? ' selected="selected"' : '';  
  echo '<option value="'.$key.'"'. $selected .'>'. $value .'</option>';
  }
echo '</select>';
}
?>
und im Aufruf drei Variablen: das Array, die Auswahl, den Selectnamen:

Code: Alles auswählen

<?php
$breite = array('col-md-12'=>'voll','col-md-6'=>'halb','col-md-4'=>'drittel','col-md-3'=>'viertel');
generateSelectFromArray($breite,'REX_VALUE[9]','REX_INPUT_VALUE[9]');
?>
Merci und Gruß
Heinz

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