Bonjour!
Zunächst vielen Dank an die Redaxo-Entwickler! Benutze Redaxo schon einige Zeit und hab sehr gute Erfahrungen gemacht - aber nie Danke gesagt
Und nun zu meiner Frage: Ich würde gerne für eine Modul-Eingabe dynamisch Checkboxes erstellen. Hierzu lade ich Felder aus der Datenbank. Im Modul-Output hätte ich dann gerne die IDs der vom Nutzer markierten Checkboxes.
Ich weiß nicht ganz wie das am einfachsten/elegantesten umzusetzen ist. Könnt ihr mir auf die Sprünge helfen?
Bei den Downloads gibts ein Minibeispiel-Checkboxen für redaxo 3.2 - da läuft ein Link aber ins Leere
liebe Grüße
Fabian
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: dynamisch Checkboxen in Modul-Eingabe erstellen
ich denke Du müsstest etwas genauer schildern wie Du das meinst mit dem dynamischen erstellen. Wenn Du anhand von Datenbank-Felder die CHeckbox haben willst dann ist die Anzahl ja vorgegeben. Mach doch ein beispiel
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
Hallo webghost! Schonmal vielen Dank für die Antwort!
Es handelt sich um ein einfache Termin-Verwaltung: Im Frontend können Besucher Termine beantragen. Hierbei wählen sie auch aus, bei welcher Person sie den Termin haben möchten.
In der Modul-Eingabe möchte ich die Möglichkeit haben, festzulegen, welche Personen dabei zur Auswahl stehen. Die Anzahl der Personen ist aber nicht fix: Es können also z.B. weitere Personen dazu kommen. Die Personen speichere ich in einer Datenbanktabelle.
Die Auswahl in der Modul-Eingabe möchte ich über Checkboxen lösen. Es ist auch kein Problem, die entsprechenden Checkboxen zu erstellen. Mir ist aber bisher unklar, wie ich am besten speichere, welche Personen in der Modul-Eingabe ausgewähl wurden.
vielen Dank und liebe Grüße
Fabian
Es handelt sich um ein einfache Termin-Verwaltung: Im Frontend können Besucher Termine beantragen. Hierbei wählen sie auch aus, bei welcher Person sie den Termin haben möchten.
In der Modul-Eingabe möchte ich die Möglichkeit haben, festzulegen, welche Personen dabei zur Auswahl stehen. Die Anzahl der Personen ist aber nicht fix: Es können also z.B. weitere Personen dazu kommen. Die Personen speichere ich in einer Datenbanktabelle.
Die Auswahl in der Modul-Eingabe möchte ich über Checkboxen lösen. Es ist auch kein Problem, die entsprechenden Checkboxen zu erstellen. Mir ist aber bisher unklar, wie ich am besten speichere, welche Personen in der Modul-Eingabe ausgewähl wurden.
vielen Dank und liebe Grüße
Fabian
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
okay, jetzt verstehe ich was Du vor hast.. hoffe ich
ist natürlich noch die Frage wieviele Personen da in etwa in der Datenbank stehen und wieviele REX_VALUE's Du sonst noch brauchst.
Bei ca. 5 Personen würde ich meinen da kannst Du pro Person ein REX_VALUE belegen, also Tabelle auslesen und in einer Schleife die Checkboxen mit den Werten ausgeben.
Wenn das aber wesentlich mehr Personen werden, würde ich alles in ein REX_VALUE speichern, zB. mittels JSON. Vorteil hierbei auch dass Du alle bei der Ausgabe benötigten Werte ablegen kannst (zB. ID,Name,Beschreibung), und nicht mehr zusätzlich auf deine DB-Tabelle zugreifen brauchst.
Also Tabelle auslesen, checkboxen in einer Schleife ausgeben, dabei aber nicht VALUE[x] schreiben, sondern alles in ein Array packen und dann mit json_encode in ein VALUE speichern.
so würde ich das machen.. hoffe es ist einigermaßen verständlich
ist natürlich noch die Frage wieviele Personen da in etwa in der Datenbank stehen und wieviele REX_VALUE's Du sonst noch brauchst.
Bei ca. 5 Personen würde ich meinen da kannst Du pro Person ein REX_VALUE belegen, also Tabelle auslesen und in einer Schleife die Checkboxen mit den Werten ausgeben.
Wenn das aber wesentlich mehr Personen werden, würde ich alles in ein REX_VALUE speichern, zB. mittels JSON. Vorteil hierbei auch dass Du alle bei der Ausgabe benötigten Werte ablegen kannst (zB. ID,Name,Beschreibung), und nicht mehr zusätzlich auf deine DB-Tabelle zugreifen brauchst.
Also Tabelle auslesen, checkboxen in einer Schleife ausgeben, dabei aber nicht VALUE[x] schreiben, sondern alles in ein Array packen und dann mit json_encode in ein VALUE speichern.
so würde ich das machen.. hoffe es ist einigermaßen verständlich
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
Nochmal vielen Dank
Ich glaube, ich hab die Antwort noch nicht ganz verstanden:
liebe Grüße!
Fabian
Ich glaube, ich hab die Antwort noch nicht ganz verstanden:
Kannst du mir sagen, wie man das macht? Bzw: Was hälst du davon, das direkt in Javascript zu machen und in ein hidden field zu packen. (Und: Wie integriere ich JQuery in Redaxo ?)...sondern alles in ein Array packen und dann mit json_encode in ein VALUE speichern.
liebe Grüße!
Fabian
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
Nimm am besten das Addon Backend utilities da ist gleich ein Plugin dabei welches Dir jQuery im Backend einbindet. Auch sonst ist das Addon sehr praktisch um etwa eigene Plugins für die Backendanpassung unter zu bringen.
Das mit dem hidden Feld ist eine gute Idee - hier http://www.redaxo.org/de/download/modul ... &cat_id=-1 wird das auch so gemacht.
Mit JSON wird's wohl doch etwas komplizierter musste ich feststellen
was ich aber auch erst eben geshen hab, folgendes:
gibt ein serialisiertes Array. Allerdings will unserialize() nicht so richtig
Das mit dem hidden Feld ist eine gute Idee - hier http://www.redaxo.org/de/download/modul ... &cat_id=-1 wird das auch so gemacht.
Mit JSON wird's wohl doch etwas komplizierter musste ich feststellen
was ich aber auch erst eben geshen hab, folgendes:
Code: Alles auswählen
<input type="checkbox" name="VALUE[1][]" value="1">Person1<br>
<input type="checkbox" name="VALUE[1][]" value="2">Person2<br>
<input type="checkbox" name="VALUE[1][]" value="3">Person3<br>
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
Kurzer Einwurf: Im Backend Utilities Addon ist ein jquery_ui Plugin mit dabei. Und in REDAXO selber ist jQuery mit dabei Man muss aber jQuery schreiben statt $. Oder dass $ in die function mitübergeben.
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
mein Fehler.. ist mir noch gar nicht aufgefallen weil ich Backend Utilities eh immer gleich installiere
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
echt, du auch?...weil ich Backend Utilities eh immer gleich installiere
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
Hatte letzte Woche genau das gleiche Problem: Hab eine Tabelle mit unterschiedlich vielen Einträgen.
Habs so gelöst:
Eingabe
Ausgabe
Gruß Meusi
Habs so gelöst:
Eingabe
Code: Alles auswählen
<select name="VALUE[1][]" multiple size="20">.......</select>
Code: Alles auswählen
$ids = rex_var::toArray('REX_VALUE[1]');
Folgende Threads stehen offen:
Re: dynamisch Checkboxen in Modul-Eingabe erstellen
Danke euch allen! Echt hilfreich
liebe Grüße
Fabian
liebe Grüße
Fabian