Array-Formularfelder im Input-Bereich eines Moduls

Gesperrt
rr_mk
Beiträge: 3
Registriert: Mo 15. Mär 2010, 13:25
Kontaktdaten:

Array-Formularfelder im Input-Bereich eines Moduls

Beitrag 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
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Array-Formularfelder im Input-Bereich eines Moduls

Beitrag 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
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
rr_mk
Beiträge: 3
Registriert: Mo 15. Mär 2010, 13:25
Kontaktdaten:

Re: Array-Formularfelder im Input-Bereich eines Moduls

Beitrag 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
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Array-Formularfelder im Input-Bereich eines Moduls

Beitrag 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
rr_mk
Beiträge: 3
Registriert: Mo 15. Mär 2010, 13:25
Kontaktdaten:

Re: Array-Formularfelder im Input-Bereich eines Moduls

Beitrag 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
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Array-Formularfelder im Input-Bereich eines Moduls

Beitrag von Dodger77 »

Die Klasse wird ja im Beispielmandanten mitgeliefert. Die Verwendung ist halt nur nicht so trivial wie CMS_VAR[x]/CMS_VALUE[x].
Gesperrt