Zum Inhalt springen

Formular mit 1:n Eingabe, wie anfangen ?

Erstellt am 18. Mai 2008 · 6 Antworten · letzte Antwort am 27. Mai 2008

Tags: Frage

tillj ·

Hallo,

ich möchte gerne ein Formular erstellen bei dem der Nutzer neben normalen Formulardaten auch eine beliebige Anzahl von 1:n verknüpften Datensätzen, in meinem Fall Bücher, eingeben soll.

Da keine der einschlägigen Extensions das schon zu bieten scheint, muss ich es wohl oder übel selber versuchen. Die Frage ist nun wie ich am besten beginnen soll. Nach ein wenig googlen scheinen mir 3 Extensions als Basis in Frage zu kommen:

- formidable
- mailformplus
- powermail

Ich möchte mich aber ungern tagelang irgendwo einarbeiten um dann zu merken, dass die Basis falsch war...
Momentan scheint es mit allen Kandidaten irgendwie zu gehen, formidable sieht weit mächtiger aus ist aber vielleicht auch mit Kanonen auf Spatzen geschossen oder ?

Ich bin also auch an ganz kurzen Hinweisen, Richtungsweisungen und Stichworten sehr interessiert, wie man soetwas machen könnte 🙂
Vielen Dank!

Till

einpraegsam.​net ·
tillj schrieb

bei dem der Nutzer neben normalen Formulardaten auch eine beliebige Anzahl von 1:n verknüpften Datensätzen, in meinem Fall Bücher, eingeben soll

Was soll dann passieren? Die Bücherdaten werden in eine Extra Tabelle gespeichert - und mit was sind diese dann verknüpft?

tillj ·

Die Bücher sollen ganz einfach mit dem Stammdatensatz verknüpft sein.

Ich lege also ein Profil mit normalen Daten wie Name etc an. Das Profil hat eine UID, die dann in den neu anzulegenden Datensätzen gespeichert wird. Nur kann die Anzahl der Bücher zwischen 1 und 500 schwanken. Für jedes Buch eine neue Seite macht also genausowenig Sinn wie eine Liste von 500 leeren Zeilen in denen ich dann die Anzahl von Büchern eintrage die ich habe.

Am Ende brauche ich eine Liste von Feldern die ich z.B. per Ajax um jeweils eine Zeile erweitern bzw verkleinern kann.

Nochmal etwas abstrakter:
Zu einem Stammdatensatz in einem Formular möchte ich beliebig viele 1:N verknüpfte Datensätze anlegen. Da die Datensätze sehr klein sind, möchte ich das im selben Formular anbieten.

Mir fallen spontan 2 Möglichkeiten ein:

1. Eine Eingabemaske plus Liste (per Ajax)
Es gibt einige normale Textfelder die zusammen einen Datensatz aufnehmen. Klicke ich auf einen nebenstehenden Knopf, werden die Felder in die verknüpfte Tabelle geschrieben und erscheinen als Kurzansicht in einer Liste unter den Textfeldern.

Neben jeder Kurzansicht gibt es Buttons um den Datensatz zu löschen oder zum aktualisieren wieder in die Eingabefelder zu laden.

2. Eine Liste
Jeder Eintrag ergänzt das grosse Formular um eine Gruppe von Eingabefeldern. Es gibt lediglich einen Button um eine neue Zeile von Eingabefeldern zu erzeugen. Zum speichern werden nach dem Submit des grossen Formulars die ids der Zeilen durchlaufen und die entsprechenden Datensätze angelegt.

Im Backend wäre das alles kein Problem nur kann ich meinen technisch nun wirklich nicht versierten Nutzern das nicht zumuten 🙂

tillj ·

Warum das ? Das ist doch eine ganz elementare Funktion zur Eingabe beliebiger Daten oder ?
Ich bin erst ganz intuitiv davon ausgegangen das es in einer der Formularerweiterungen, analog zum Backend, eine Art simplen Datentyp wie Database Relation gibt. Nun ist es sicherlich richtig, dass komplexe Daten eher im Backend und selten von Frontend-Usern eingegeben werden aber ich bin doch sicherlich nicht der erste mit dem Problem ?

Was schlägst du denn vor wenn ich mir nicht zutraue eine komplette Neue Extension für sowas auf die Beine zu stellen. Sollte ich das lieber komplett selbst per UserFunc schreiben oder doch zumindest eine der genannten Extensions für den Rest des Forumulars verwenden und meinen Code per Hooks oder aehnlich einbauen ?

Dank und Grüße,
Till

einpraegsam.​net ·
tillj schrieb

Warum das ? Das ist doch eine ganz elementare Funktion zur Eingabe beliebiger Daten oder ?
Ich bin erst ganz intuitiv davon ausgegangen das es in einer der Formularerweiterungen, analog zum Backend, eine Art simplen Datentyp wie Database Relation gibt. Nun ist es sicherlich richtig, dass komplexe Daten eher im Backend und selten von Frontend-Usern eingegeben werden aber ich bin doch sicherlich nicht der erste mit dem Problem ?

Was schlägst du denn vor wenn ich mir nicht zutraue eine komplette Neue Extension für sowas auf die Beine zu stellen. Sollte ich das lieber komplett selbst per UserFunc schreiben oder doch zumindest eine der genannten Extensions für den Rest des Forumulars verwenden und meinen Code per Hooks oder aehnlich einbauen ?

Dank und Grüße,
Till

Selbstverständlich könntest du Powermail oder Mailformplus über Hooks/Userfunc ohne Ende erweitern - aber ich denke dass du mit einer eigenen Erweiterung schneller wärst...

tillj ·

Na gut dann werd ich wohl einfach mal herumbasteln und schauen was passiert 🙂

Danke fuers damit befassen.