Seite 1 von 1

Array-Formularfelder im Input-Bereich eines Moduls

Verfasst: Mo 15. Mär 2010, 13:42
von rr_mk
Hallo,

ist es möglich im Input-Bereich eines Moduls ein multiples Select-Element mit entsprechendem name-Attribut als Array-Formularfeld zu verwenden? Beispiel:

Code: Alles auswählen

$selected_values = 'CMS_VALUE[0][]';
print_r($selected_values);

?>
<select name="CMS_VAR[0][]" multiple="multiple">
    <option value="..."</option>
    ...
    <!-- Viele Optionen -->
</select>
<?php
Dieses Beispiel funktioniert nicht und es wird die Fehlermeldung
Warning: urlencode() expects parameter 1 to be string, array given in /Users/markuskwasnicki/htdocs/Berlitz/trunk/contenido/includes/include.tplcfg_edit.php on line 61
ausgegeben. Anscheinend sieht diese Contenido-Methodik solche Array-Formularfelder nicht vor. Aber gibt es vielleicht doch andere Möglichkeiten so etwas zu erreichen? Danke.


MfG

Re: Array-Formularfelder im Input-Bereich eines Moduls

Verfasst: Fr 2. Apr 2010, 12:35
von Oldperl
Hallo rr_mk,

erst einmal willkommen im Contenido Forum. :-)

Zu deiner Frage. Du kannst das Array Serialisieren und dann in eine Contenidovariable schreiben. Um dann im Formular die korrekten Einträge zu zeigen kehrst du den Vorgang vorher um. (PHP-Funktionen: implode, explode)

Gruß aus Franken

Ortwin

Re: Array-Formularfelder im Input-Bereich eines Moduls

Verfasst: Do 8. Apr 2010, 13:26
von rr_mk
Hallo,

das Problem vor dem ich stehe liegt aber weniger darin ein Array zu serialisieren bzw. zu de-serialisieren, sondern eher darin, dass ich keine Möglichkeit sehe ein serialisiertes Array aus einem Multi-<SELECT>-Tag zu bekommen :-(


MfG

Re: Array-Formularfelder im Input-Bereich eines Moduls

Verfasst: Do 8. Apr 2010, 13:30
von Dodger77
Schau dir dazu mal die Datei "/cms/includes/class.input.helper.php" an. Die genaue Verwendung kann man sich z.B. am Modul Article List Advanced abschauen oder auch hier:

http://forum.contenido.org/viewtopic.php?f=51&t=17296

Re: Array-Formularfelder im Input-Bereich eines Moduls

Verfasst: Do 8. Apr 2010, 14:25
von rr_mk
So etwas ist natürlich sehr gut. Bisher hatte ich nicht daran gedacht, dass Contenido selbst so einen Use-Case vorsieht und Helper dafür bietet. Also vielen Dank für den Hinweis.

MfG

Re: Array-Formularfelder im Input-Bereich eines Moduls

Verfasst: Do 8. Apr 2010, 14:33
von Dodger77
Die Klasse wird ja im Beispielmandanten mitgeliefert. Die Verwendung ist halt nur nicht so trivial wie CMS_VAR[x]/CMS_VALUE[x].