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
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/
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/
Re: REX_VALUE dynamisch füllen
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
damit kannst ja dann weiter arbeiten.
Cheffchen
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];
Cheffchen
Re: REX_VALUE dynamisch füllen
Hallo Cheffchen, danke für die rasche Antwort, ich habe es noch anders gelöst:
Die Funktion:
und im Aufruf drei Variablen: das Array, die Auswahl, den Selectnamen:
Merci und Gruß
Heinz
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>';
}
?>
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]');
?>
Heinz