yakamara / yform

YForm für REDAXO 5 – Formulare im Frontend und Backend mit Verwaltung von Datenbank-Tabellen.
MIT License
77 stars 55 forks source link

Docs: Innerhalb von YOrm Actions ausführen #1060

Closed alxndr-w closed 3 years ago

alxndr-w commented 3 years ago

Wie lassen sich in YOrm Actions ausführen? Bspw, ein Datensatz wird erstellt, der direkt auch als E-Mail versendet werden soll:

        $data = json_decode(file_get_contents('php://input'), true);
        $lead = rex_yform_manager_dataset::create('rex_google_ads_lead');
        $lead->setValue("lead_id", $data['lead_id']);
        $lead->setValue("form_id", $data['form_id']);
        //...
        $lead->setValue("createdate", date('Y-m-d H:i:s'));
            /// ------> hier E-Mail versenden <-----
        if ($lead->save()) {
            /// ------> oder noch besser hier <-----
        } 
christophboecker commented 3 years ago

Dataset-Klasse basteln, deren getForm() die zusätzlichen Actions einbaut?

alxndr-w commented 3 years ago

und dann per hidden übergeben. Ist für mich aber nicht mehr doku-relevant.

$dataset = rex_yform_manager_dataset::create('rex_google_ads_lead');
$yform = $dataset->getForm();

$yform->setValueField('hidden', ["title", $title]);
$yform->setValueField('hidden', ["name", $name]);
$yform->setValueField('hidden', ["email", $email]);
$yform->setValueField('hidden', ["blahblahetc", $blahblahetc]);
[...]

$yform->setActionField('tpl2email', array('form1','email'));

// dump($yform);

echo $dataset->executeForm($yform);