yForm Callback in PHP
Verfasst: 28. Mai 2019, 02:06
Hallo,
Eine Suche im Forum hat leider keine Antwort auf mein (vielleicht spezielles) Problem ergeben.
Ich baue gerade mit yForm ein Anmeldeformular für Veranstaltungen, die ein begrenztes Ticket-Kontingent haben. Der E-Mail-Versand und die Eintragung in eine Teilnehmer-Datenbank funktionieren prima, nun muss nur noch die Anzahl der verfügbaren Plätze bei Anmeldung reduziert werden.
Die Rahmenbedingungen sind wie folgt: Es gibt zwei Tabellen in denen die Veranstaltungen und die Anmeldungen gespeichert werden. Bei Anmeldung soll nun (idealerweise) vor dem Absenden der Bestätigungsemail und Speichern der Anmeldung die Anzahl der noch verfügbaren Plätze geprüft und ggf. reduziert werden. Dazu scheint die Callback-Action geeignet zu sein, jedoch finde ich keine Dokumentation, wie die Action in PHP genutzt werden kann. Ich muss PHP nutzen, da ich im Formular dynamische Inhalte ausgebe (das war mit der Pipe-Variante nicht zu bewerkstelligen).
Ich habe folgende Klasse (beispielhaft), und eine Funktion, die prüfen soll ob noch genug Plätze verfügbar sind:
Ich habe in meinem Modul (Ausgabe) folgendermaßen probiert, den Callback auszulösen:
Wie kann also in PHP das Formular als Argument für den Callback so mitgegeben werden, dass ich die eingegebenen Daten des Users weiter verarbeiten kann?
Danke im Voraus für hilfreiche Hinweise..
Gruß,
Julian
Eine Suche im Forum hat leider keine Antwort auf mein (vielleicht spezielles) Problem ergeben.
Ich baue gerade mit yForm ein Anmeldeformular für Veranstaltungen, die ein begrenztes Ticket-Kontingent haben. Der E-Mail-Versand und die Eintragung in eine Teilnehmer-Datenbank funktionieren prima, nun muss nur noch die Anzahl der verfügbaren Plätze bei Anmeldung reduziert werden.
Die Rahmenbedingungen sind wie folgt: Es gibt zwei Tabellen in denen die Veranstaltungen und die Anmeldungen gespeichert werden. Bei Anmeldung soll nun (idealerweise) vor dem Absenden der Bestätigungsemail und Speichern der Anmeldung die Anzahl der noch verfügbaren Plätze geprüft und ggf. reduziert werden. Dazu scheint die Callback-Action geeignet zu sein, jedoch finde ich keine Dokumentation, wie die Action in PHP genutzt werden kann. Ich muss PHP nutzen, da ich im Formular dynamische Inhalte ausgebe (das war mit der Pipe-Variante nicht zu bewerkstelligen).
Ich habe folgende Klasse (beispielhaft), und eine Funktion, die prüfen soll ob noch genug Plätze verfügbar sind:
Code: Alles auswählen
<?php
class my_class {
public function check_availability($form) {
// Ausgewählte Veranstaltung identifizieren
$event_id = $form->getParam("value_pool")['sql']['event_id'];
// Prüfe ob noch genug Plätze verfügbar sind. Wenn ja, send E-Mail. Wenn nein, zeige entsprechende Meldung an.
// [...]
}
}
Ich habe in meinem Modul (Ausgabe) folgendermaßen probiert, den Callback auszulösen:
Code: Alles auswählen
$yform->setActionField('callback', project_class::check_availability());
// Error: Too few arguments to function project_class::form_callback()
$yform->setActionField('callback', project_class::check_availability($yform);
// Error: Call to undefined method rex_yform::getParam()
Danke im Voraus für hilfreiche Hinweise..
Gruß,
Julian