Zum Inhalt springen

Formularverhalten flexibilisieren

Erstellt am 6. Januar 2006 · Noch keine Antworten

Tags: Frage

noi ·

Hallo,

ich möchte eine relativ spezielle Backend-Extension entwickeln, bin im Extension schreiben jedoch blutiger Anfänger.
Daher würde ich gern um Hilfe bitten, bezüglich ein paar grundlegender Fragen.

Generell:

1.
Kann man sich mit PHP ein Formular bauen und es "irgendwie" in das Backend von Typo einbinden?
(Wichtig wäre mir vor allem, dass das Formular nur diejenigen sehen dürfen, denen man es erlaubt (änderbar) und z.B. die Sysordner ermittelt werden können, die in der Sicht des Einzelnen vorhanden sind.)
Der Rest würde sich von selbst ergeben.

-> Dieser Ansatz wäre die einfachste Lösung falls der 2.te wenig Aussicht auf Realisierbarkeit besitzt.

2.
Kann man in einem Formular die Quelle (wo die Daten eines Feldes herkommen) und das Ziel (wo und wie beim Sichern gespeichert werden soll) von Datensätzen beliebig frei festlegen?
Funktionieren auch komplexere Speicher-Operationen:
z.B. Sichern der ausgewählten Objekte in verschiedenen Datensätzen bzw. Prüfen, ob ein ausgewähltes Objekt in einem Datensatz vorhanden ist und dann dort eine Operation ausführen?

Grundlage dafür wäre meiner Meinung nach nur die Möglichkeit, an irgendeiner Stelle sagen zu können, was beim Klick auf Speichern mit einem Feld passieren soll.
Also so eine Art Umdefinition des Standardverhaltens, durch ergänzen und ändern der Logik, einschl. der Änderung der DB-Operationen.

Beispiel:

Formularfeld -- "Ausgewählt" & "Objekte"
----------------------------------------

Diese 2 Felder(Ausgewählt, Objekte) sind ja zusammengehörig und treten z.B. bei "Backend Benutzer" im Abschnitt "Group:" auf.

Ist es möglich, sowohl Quelle als auch Ziel beider Formularfelder frei zu wählen?

Beispiel Problem:

aktuellerDatensatz - ID des gewählten records Ra: Raz
(der aktuelle Datensatz muss also nicht immer der selbe sein: Ra1, Ra2, ...)
TabelleA mit den Spalten A1, A2, ...
TabelleB mit den Spalten B1, B2, ...
TabelleB soll mehrere Datensätze enthalten: BR1, BR2, ...

Die Liste der Objekte (O1, O2, ..., On) soll aus einer Tabellenspalte A2 (A1 sind die ID´s) entnommen werden, also wie gehabt.
Prinzipiell sollen die Objekte auch gewählt bzw. entfernt werden können, also auch wie gehabt.

Beim Speichern bzw. Ändern muss es bei mir jedoch einen Unterschied geben.
Normal würden alle gewählten Werte in ein Blob-Feld einer Tabelle geschrieben.
Das geht, weil Raz die gewählten Objekte identifiziert bzw. der Besitzer der Elemente ist.

Ich habe aber das Problem, dass die gewählten Objekte aus der Objektliste O nicht durch Raz identifiziert werden.
Jedes gewählte Objekt O identifiziert höchstens genau einen Datensatz BRx ( z.B. O1 -> BR1 und O2 -> BR2).

Ist der entsprechende Datensatz gefunden, soll in diesem vermerkt werden, dass das Objekt Ox in Raz gewählt wurde.
Es wird also einfach die ID von Raz im Datensatz BRx vermerkt.

Um nun für verschiedene Raz Eintragungen in BRx machen zu können, ist z.B. eine Blob Liste hilfreich.
Dazu muss dann allerdings geprüft werden, ob der Eintrag nicht bereits vorhanden ist.

In Kurz:
Basis: Ein Datensatz R wird gewählt.
Für jedes gewählte Objekt ist im Objekt-Datensatz zu sichern, dass es in Datensatz R gewählt wurde.

Auslesen funktioniert in diesem Fall ganz einfach:
Es wird geprüft, in welchen BRx die Info R gesichert ist. Aufgrund der Eineindeutigkeit, habe ich dann wieder meine Liste der gewählten Objekte O.

geht so was?
(oder ist das Ganze total unverständlich?)
Ich würde es gern mit Typo3 umsetzen. Mit reinem PHP wäre es kein Problem, aber ich muss ja irgendwie das Formular in das Backend bekommen.

mfg
,noi