Ergebnis 1 bis 8 von 8

Thema: Formular-Empfänger aus MetaModel bestimmen

  1. #1
    Contao-Nutzer Avatar von michelb
    Registriert seit
    14.03.2011.
    Ort
    Essen
    Beiträge
    129
    User beschenken
    Wunschliste

    Standard Formular-Empfänger aus MetaModel bestimmen

    Moin,

    ich habe ein MetaModel und darunter/auf der gleichen Seite ein über den Formulargenerator erstelltes Formular. Das MetaModel (mm_jobs) gibt eine Stellenbeschreibung aus, in der DB-Tabelle ist zudem der zuständige Ansprechpartner/Standort mit der jeweiligen ID aus einer mm_branches definiert, in der auch die E-Mail-Adresse des Standorts steht.

    Wie richte ich jetzt ein, dass das Formular an die in der mm_branches gespeicherte E-Mail-Adresse versandt wird und nicht an die im Formulargenerator erstellte Adresse?

    Ich habe es hiermit ( https://community.contao.org/de/show...-Mail-w%E4hlen ) probiert, aber da kam dann nur eine Fehlermeldung – liegt vielleicht auch daran, dass ich eine 3.2 und keine 3.3 nutze(?). Habe in system/modules einen Ordner jobenqtobranch erstellt, darin eine jobenqtobranch.php sowie eine config/config.php, anschließend eine autoload.ini erstellt.

    system/modules/jobenqtobranch/config/config.php
    PHP-Code:
    <?php
      $GLOBALS
    ['TL_HOOKS']['prepareFormData'][] = array('myHooks''changeRecipient');
    ?>
    system/modules/jobenqtobranch/jobenqtobranch.php
    PHP-Code:
    <?php

    class myHooks extends \Backend {
    public function 
    changeRecipient($arrSubmitted$arrLabels$form)
        {
            if (
    $form->formID == "applicationform")
            {
                
    $form->recipient $this->Database->execute("SELECT emailtest FROM mm_branches WHERE id = " $GLOBALS['standort_kontakt']);
            }
        }
    }

    ?>
    In der /templates/metamodel_job.html5 habe ich noch folgendes ergänzt damit die ID des Standorts auch irgendwo steht:

    /templates/metamodel_job.html5
    PHP-Code:
    <?php $GLOBALS['standort_kontakt'] = $arrItem['raw']['frombranch']['id']; ?>
    Contao-Version: 3.2.14
    MetaModels-Version: dev-contao3 (cfe4e0ea)
    Composer: 0.13.2
    Geändert von michelb (15.10.2014 um 08:00 Uhr)

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    ist die E-Mail "sehr geheim"? ansonsten ggf. als hidden-field dem Formular mit auf dem Weg geben

  3. #3
    Contao-Nutzer Avatar von michelb
    Registriert seit
    14.03.2011.
    Ort
    Essen
    Beiträge
    129
    User beschenken
    Wunschliste

    Standard

    Geheim nicht, aber es gibt derzeit fünf verschiedene Adressen, die je nach Stelle als Empfänger fungieren.

    Zudem könnte, wenn die E-Mail-Adresse bzw. deren Feld so offensichtlich ist, jemand auf die Idee kommen, da andere E-Mail-Adressen einzutragen und dann hierüber Spam und dergleichen zu verschicken.

  4. #4
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Ich habe das ganze für einen Kunden mit dem processFormData-Hook und dem Notification-Center gelöst. Ohne etwas Programmierarbeit wird das aber nicht gehen ...

  5. #5
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    ohne processFormData wirst Du sicher nicht umhin kommen - Du könntest statt der reinen E-Mail eine "E-Mail-ID" übergeben und die in processFormData umtauschen

  6. #6
    Contao-Nutzer Avatar von michelb
    Registriert seit
    14.03.2011.
    Ort
    Essen
    Beiträge
    129
    User beschenken
    Wunschliste

    Standard

    Gut, von Hooks habe ich bislang nur gehört. Ich bin, was PHP und die ganze Contao API angeht, nicht so wirklich fit. Bin mehr im Frontend zu Hause.
    Da muss ich dann wohl mal einen Auftrag einstellen.

  7. #7

  8. #8
    Contao-Fan Avatar von Hauge
    Registriert seit
    31.01.2010.
    Beiträge
    643

    Standard prepareFormData

    Schau Dir mal den prepareFormData an.
    Damit lassen sich die Daten ändern oder erweitern, bevor Aktionen wie z.B. E-Mail Versand oder in der Datenbank speichern ausgeführt wird.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •