[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Welche Programmlogik greift beim Absenden einer rex_form? - REDAXO Forum
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/
martinpet
Beiträge: 59
Registriert: 17. Okt 2008, 13:06

Welche Programmlogik greift beim Absenden einer rex_form?

4. Sep 2013, 20:34

Hallo allerseits,

ich bastle gerade an einem Addon und muss etwas Einfluss auf die Art nehmen, wie die Formulardaten in die Datenbank eingetragen werden.

kann mir jemand sagen, der die Verarbeitungsabläufe von Addons besser im Griff hat erklären, welche Programmlogik (Methode) beim Abschicken (Eintragen, Übernehmen) einer Rexform aus einem Addon greift? Im Addon selbst hört die Verarbeitung ja bei $form->show() auf. Wie geht es weiter, welche Stelle übernimmt, wie kann ich mich da einhaken :D ?

Hintergrund:
Ich muss eine multiple-select-Eintragung in eine DB-Tabelle mit n:m Zuordnung realisieren. Mit Boardmethoden scheint das nicht möglich.

Vielen Dank für alle Hinweise.
Martin

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Welche Programmlogik greift beim Absenden einer rex_form

4. Sep 2013, 20:48

Hallo Martin,

das eigentliche Speichern geschieht in der rex_form Klasse, ausgelöst durch ->show() (bzw get()). Irgendwo wird darin save() etc. aufgerufen.
Du müsstest also mal in die Klasse schauen und dann eine Subklasse erstellen, in der du die entsprechenden Methoden erweiterst.

Gruß, Gregor
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Welche Programmlogik greift beim Absenden einer rex_form

4. Sep 2013, 20:48

Evtl. kannst du deine Logik beim EP REX_FORM_SAVED einhängen.. https://github.com/redaxo/redaxo4/blob/ ... .php#L1093

Wenn nicht: class extenden..

..oder dein relationales Zeug per AJAX/callbacks und eignen form Elementen innerhalb der rex_form (per addRawField() https://github.com/redaxo/redaxo4/blob/ ... c.php#L423 ) erledigen.
vg, Jan

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Welche Programmlogik greift beim Absenden einer rex_form

4. Sep 2013, 21:09

Hi Martin!
martinpet hat geschrieben:Hintergrund:
Ich muss eine multiple-select-Eintragung in eine DB-Tabelle mit n:m Zuordnung realisieren. Mit Boardmethoden scheint das nicht möglich.
Die Klasse be_manager_relation kann das.

Das müsste eigentlich auch ohne Probleme im Frontend möglich sein. Die Fremdschlüssel der zu verknüpfenden Tabellen werden in rex_xform_relation gespeichert.
Ich nutze das selbst sehr gern. Wenn du weitergehende Hilfe brauchst, gib Bescheid.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Welche Programmlogik greift beim Absenden einer rex_form

4. Sep 2013, 21:15

@xong: der op bezog sich imho auf Rexform.. nicht xform..
vg, Jan

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Welche Programmlogik greift beim Absenden einer rex_form

4. Sep 2013, 21:18

jdlx hat geschrieben:@xong: der op bezog sich imho auf Rexform.. nicht xform..
Oha! Sowas übersieht man aber auch schnell. =)
Wer macht denn heutzutage noch was mit rex_form? :D
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

martinpet
Beiträge: 59
Registriert: 17. Okt 2008, 13:06

Re: Welche Programmlogik greift beim Absenden einer rex_form

7. Sep 2013, 13:38

Vielen Dank für die Hinweise.

Ich werde mir jedenfalls xform mal anschauen.
Gibt es irgendwo eine prägnante Übersicht mit Beispielen wie die xform-Klassen genutzt werden können? Habe bisher nur die Doku, gefunden die den Einsatz mit diesen Platzhaltern erklärt. Ich würde die Klassen gerne direkt in meinem Code einbetten.

Grüße, Martin

martinpet
Beiträge: 59
Registriert: 17. Okt 2008, 13:06

Re: Welche Programmlogik greift beim Absenden einer rex_form

7. Sep 2013, 13:55

jdlx hat geschrieben: Evtl. kannst du deine Logik beim EP REX_FORM_SAVED einhängen.
https://github.com/redaxo/redaxo4/blob/ ... .php#L1093

Wenn nicht: class extenden..
Das bei SAVED einzuhängen ist so eine Sache. Ich will hier gescheit mit Transaktionen und Rollbacks on fail arbeiten können.

Die Klasse zu extenden wird wohl der Weg sein, wenn ich das weiter mit rex_form arbeiten sollte. (xform habe ich bisher noch nicht genau angeschaut... da wirkt auf mich aber ziemlich aufgebläht - ich mag am liebsten immer nur die nötigen Klassen und Methoden die ich in meinem Code ansprechen kann.)

Zurück zu „Allgemeines [R4]“