Ergebnis 1 bis 10 von 10

Thema: Daten per Frontendformular in DB schreiben

  1. #1
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard Daten per Frontendformular in DB schreiben

    Hallo,

    habe ein Frontendformular, wo eine gewisse Usergruppe Datensätze in die DB speichern kann. Läuft auch super aber es tun sich ein paar kleine Probleme auf.

    Nutzen tu ich den EFG.

    Jetzt zu meinen Problemen:

    1. wie generiere ich im Frontend ein alias zum eingetragen Datensatz? (oder könnte ich dies auch erst bei der aktivierung durch den admin generieren?
    2. wie kann ich im Frontend automatisch eine E-Mail an den User als auch an mich schicken lassen? Bestätigungsmail habe ich versucht, nur geht dann kein Datenbankeintrag mehr da es das Feld "email" nicht in der Tabelle gibt.

    Gibt es da Hooks wo ich das steuer kann?


    Lg Ralf

  2. #2
    Contao-Nutzer
    Registriert seit
    25.01.2013.
    Beiträge
    42

    Standard

    Ich würde den processFormData Hook nehmen und darin sowohl die Alias Generierung als auch die Generierung eines Mails abarbeiten.

    Übrigens verweise ich bewussst auf den Hook processFormData, und nicht processEfgFormData, weil letzterer bei mir bei einem aktuellen Projekt nicht anschlägt (warum auch immer). Ersterer aber schon.
    Lieben Gruß,
    Michael

  3. #3
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Ok, danke.

    Äh den musste ich nur in der Config setzten oder?
    Schlägt der dann auf alle Formulare?

  4. #4
    Contao-Nutzer
    Registriert seit
    25.01.2013.
    Beiträge
    42

    Standard

    Er schlägt auf alle Formulare, übergibt aber ein Array das eine Element namens FORM_SUBMIT enthält, mit dem Namen des abgesendeten Formulars. Diesen kannst Du abfragen.

    Ein bisschen eine Idee kannst Du Dir zum Beispiel hier holen (das Beispiel hat zwar schon einige Jahre auf dem Buckel, trifft so aber nach wie vor zu): http://www.tl-usertreffen.weitzeldesign.com/efg-6.html
    Lieben Gruß,
    Michael

  5. #5
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Ok das erscheint mir recht simpel


    Den Datenbankeintrag müsste ich dann auch im hook machen und nicht über die EFG Funktion richtig?

    PHP-Code:
    if($arrPost['FORM_SUBMIT'] == 'auto_angebot-insert') {.. 
    Das kann garnet mehr funktionieren da "FORM_SUBMIT" garnicht mit übergeben wird :/

  6. #6
    Contao-Nutzer
    Registriert seit
    25.01.2013.
    Beiträge
    42

    Standard

    Den Datenbankeintrag kannst Du dennoch vom EFG erledigen lassen. Oder Du machst es händisch - ist Geschmackssache bzw. kommt auf die Umstände darauf an.

    Bei mir funktioniert das_

    PHP-Code:
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('EfgCallbacks''efgcallback'); 
    sowie dann

    PHP-Code:
    class EfgCallbacks extends Frontend
    {
    public function 
    efgcallback($arrSubmitted$arrFiles$intOldId, &$arrForm) {

            if (
    $arrSubmitted['FORM_SUBMIT'] == 'auto_rechnungsundlieferdaten')
            {
    ....
    weiterer code... 
    Lieben Gruß,
    Michael

  7. #7
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Muss leider doch händisch vorgehen da ich ein Bildupload dabei ist.

    Da es aber kein multiupload geht das man es so hat das man im Backend die files sortieren etc kann..

  8. #8
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Irgendwie greift mein Hook nicht wirklich.

    PHP-Code:
    //autoload:
    /* ClassLoader */
    ClassLoader::addClasses(array(
        
    //Classes
        
    'Contao\EDBForm'                  => 'system/modules/edb_products/classes/EDBForm.php',
    ....

    //Config:
    /* FORM CONFIG */
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('TestForm''myProcessFormData'); 


    /* TestForm */
    class TestForm extends Frontend {
        
        public function 
    myProcessFormData($arrPost$arrForm$arrFiles) {
            
    print_r($arrPost);
          ......
         }

    Was mache ich denn Falsch? das er mir einfach keine Postdaten ausgibt?

  9. #9
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.032

    Standard

    schau mal hier... damit bekommst du die feldwerte heraus.

    aktuell liegt mein problem darin, herauszubekommen, wie der bildname lautet... hat je,amd eine idee?

    https://community.contao.org/de/showpost.php?p=336145


    Gesendet von iPad mit Tapatalk

  10. #10
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Es geht immer noch darum, die korrekte uuid für ein binäres singleSRC Feld aus einer hochgeladenen BildDatei zu generieren

    processEfgFormData greift vor oder nach dem Speichern in die DB?


    mark

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
  •