Ergebnis 1 bis 37 von 37

Thema: Empfängeradresse abhängig von Frontend

  1. #1
    Contao-Fan
    Registriert seit
    03.01.2012.
    Beiträge
    813

    Standard Empfängeradresse abhängig von Frontend

    Hallo,

    ich möchte ein Formular erstellen, das aus mehreren unterschiedlichen Feldern besteht. Es soll normale Textfelder für Name, Adresse usw. haben und am Anfang des Formulars soll es mehrere Radio-Buttons für die Auswahl des Standortes geben, z.B. Hamburg, Dresden und Berlin. Wenn man nun das Radio-Feld von Hamburg ausgewählt hat, so soll die E-Mail nach Ausfüllen des Formulars an hamburg@domain.de gehen. Bei Berlin an berlin@domain.de, usw.

    Wie lässt sich das umsetzen?

    Danke im Voraus.

  2. #2
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    So was würde ich gerade auch benötigen. Kann mal jemand kurz was dazu sagen wie man das lösen kann?

    Danke Chris

  3. #3
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Das geht mit dem processFormData Hook. Damit abhängig von den Vorgaben die neue Adresse setzen.

    Grüße,
    Tim
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  4. #4
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dazu gibt es ein (anzupassendes!) Tutorial im englischen Forum: http://www.contao-community.org/view...php?f=8&t=1792

  5. #5
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von lucina Beitrag anzeigen
    Dazu gibt es ein (anzupassendes!) Tutorial im englischen Forum: http://www.contao-community.org/view...php?f=8&t=1792
    Hi Lucina,
    das Tutorial verwendet die Formrecipient Erweiterung. Die habe ich bei mir ganz schnell verbannt, weil die nur Fehler beim Senden und im BE verursacht hat.
    Weisst Du ob die wieder unter > 2.10 funktioniert?

    Sonst würde ich empfehlen die EFG Erweiterung installieren und mit dem entsprechenden Hook den Empfänger bzw. Absender setzen.

    http://www.tl-usertreffen.weitzeldesign.com/efg-6.html
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  6. #6
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Drum schrieb ich "anzupassendes!" ... ;-)

  7. #7
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von lucina Beitrag anzeigen
    Drum schrieb ich "anzupassendes!" ... ;-)
    Achso, ok
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  8. #8
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Also das mit den Formrecipient kann ich bestätigen hat Fehler verursacht und war nur nervig!

    Nun habe ich es nach der Anleitung gemacht http://www.tl-usertreffen.weitzeldesign.com/efg-6.html

    Leider kommen aber nicht die E-Mails an er nimmt wieder nur die im Formular hinterlegte. Somit wechselt er nicht die Daten.

    Kann es sein das es bei den geschützten Select nicht geht?

  9. #9
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Moin,

    könnte das denn mit [protectedselect] funktionieren?

    Ist dann zwar kein Radio-Button, das kann aber ggf. per Template Anpassung klappen.

    Nur mal so in den Raum geworfen.

    Grüße, Cliff

  10. #10
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Ist von meiner Seite schon installiert!

  11. #11
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Hast du die übermittelte Mail Adresse innerhalb des Hooks auch geändert und den geänderten Array zurückgegeben?
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  12. #12
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Hast du die übermittelte Mail Adresse innerhalb des Hooks auch geändert und den geänderten Array zurückgegeben?
    Kannst du mir da einmal Tipps geben denn ich dachte das auf der Seite sollte reichen.

  13. #13
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Ja, an und für sich steh da alles, aber hast du es auch mit deinen Feldnamen angepasst?

    $arrForm['formattedMailRecipient'] = $arrSubmitted['FELDNAME_DES_ADRESS_FELDES'];

    Manchmal vergisst man das einfach
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  14. #14
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Ja habe ich gemacht GF_E-Mail heißt es

  15. #15
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Haste dir das mal ausgeben lassen? Nimm var_dumb dazu.

    Damit man sichergehen kann.

    Da das Übermitteln immer so schnell geht, ist das die einzige Methode zum Testen.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  16. #16
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Das mit VarDump habe ich gerade nicht so verstanden, erst dachte ich Extension aber da gibt es keine.

    Also das sind gerade meine Dateien.
    EFGCallbacks.php
    PHP-Code:
    <?php
    // $arrSubmitted enthalt die POST-Werte
    // $arrFiles ggf. Datei-Uploads
    // $intOldId die ID des bearbeiteten Datensatzes, im Falle von Frontend-Bearbeitung
    // $arrForm enthaelt die 'Formular-Konfiguration' 
    class EfgCallbacks extends Backend
    {
        public function 
    exampleMailRecipient($arrSubmitted$arrFiles$intOldId, &$arrForm)
        {
            
    // Einschraenkung auf das Formular
            
    if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_3' || $arrSubmitted['FORM_SUBMIT'] == 'auto_form_4')
            {
                
    // überschreiben des Wertes von 'Empfänger-Adresse' mit dem Wert aus einem Fomularfeld
                
    $arrForm['formattedMailRecipient'] = $arrSubmitted['GF_E-Mail'];
            }
            return 
    $arrSubmitted;
        }
    }
    ?>
    dcaconfig.php
    PHP-Code:
    <?php /* Put your custom configuration here */ 
    $GLOBALS['TL_HOOKS']['processEfgFormData']['callback_02'] = array('EfgCallbacks''exampleMailRecipient');

    ?>
    Danke für deine Hilfe

  17. #17
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Sieht richtig aus.

    Sicher, dass das Formular als "auto_form_3" reinkommt? Also ist deine formular ID "form_3" ? (unten in den Experteneinstellungen zum Formular)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  18. #18
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Also unter Expert => Formular-ID habe ich nun z.b. form_3 reingeschrieben.

    Wenn ich absende kommt die E-Mail aber dennoch dort an was ich im Formular hinterlegt habe und nicht dort was der User ausgewählt hat somit wechselt er nicht die Variable oder schreibt diese neu.

  19. #19
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Also hier gibt es nochmal ein Tutorial zur Verwendung von [protectedselect]: http://www.contao-tutorials.de/tutor...it-contao.html

    Und ich wage zu behaupten, dass es so klappen wird. Wichtig ist der Hinweis zur Benennung des Feldes: "email".

    Werde die Sachen am Wochenende auch nochmal durchspielen.

    Grüße, Cliff

  20. #20
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Du musst dir das mal auslesen lassen, was da geschickt wird. Sonst tappen wir ewig im Dunklen.

    in deiner if abfrage var_dumb($arrSubmitted); Dann wird auch erstmal der Absendeprozess gestoppt und du kannst die Änderungen vornehmen.

    bzw. besser vor der if abfrage. Ich denke nämlich der geht gar nicht in die Abfrage, weil der Formularname bereits falsch gesetzt ist.


    Das ganze funktioniert auch ohne das protectedselect.
    Würde ich es finden, würde ich es schicken. Hab das in einem Projekt auf gleichem Wege angewendet, ohne das protectedselect. Scheint damit aber bequemer zu sein.
    Geändert von Tim G (23.03.2012 um 12:57 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  21. #21
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    Hi all,

    ich sitzte gerade an einem ähnlichen Problem.
    Das Formular, das ich gerne mit Contao Boardmitteln erstellen möchte, soll aus der Datenbank eine Lister der Benutzer anzeigen, von denen man einen auswählen kann, und schließlich die dort hinterlegte email verwenden, um die Formulardaten zu verschicken.

    Die EFG Erweiterung sollte das glaube ich mal angeboten haben, allerdings scheint diese seit 2008 nicht mehr weiter entwickelt zu werden?!?

    Gibt es nicht noch eine andere Erweiterung, außer der hier angesprochenen protectedselect-Erweiterung, die das erfüllt?

    bis denne
    Tweety
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  22. #22
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Der efg bringt ein DB-Select Feld mit. Das sollte genau das Richtige sein.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  23. #23
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    OK, prima.

    siehst du da irgendein problem mit kompatibilität zu 11.2?

    greez
    Tweety
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  24. #24
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Eigentlich nicht.
    Einfach testen
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  25. #25
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    hm...

    habs gerade getestet und das klappt auch theoretisch. Praktisch gibts aber zwei probleme.
    1) ich habe mal 1 feld mit dem inhalt irgendeiner tabelle integriert, aber der wert kommt nicht in der mail beim empfänger an
    2) wenn ich das richtig gesehen habe, dann besteht nicht die möglichkeit, sql abfragen zu verwenden.
    Szenario:
    - Eine Tabelle mit den Daten, die der Benutzer in einem Dropdown-Menü auswählen könnn soll (zB Name)
    - Der Ausgewählte Name ist über die ID mit der Benutzer (tl_user) verbunden, und daraus soll dann die Email-Adresse des "zugehörigen Namens" ausgewählt werden, um die Formulardaten dorthin zu senden

    ne idee dafür???

    greez2all
    Tweety
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  26. #26
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Mit dem processFormData hook geht das alles.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  27. #27
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    Hm.. diese ganze "Hook-Geschichte" habe ich noch nicht verstanden. Angefangen was das genau ist, über wo man den eintippt, bis zu was man damit alles machen kann.
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  28. #28
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Also ich habe am die Fehlerüberwachung eingeschaltet und alls in den Ursprungszustand gemacht. Somit solltes es ja mit Protected Select gehen.
    Auch dieses habe ich auf die neueste Version geupdatet.

    Hier die Ausgabe des Fehlers:

    Code:
    Fatal error: Uncaught exception Swift_RfcComplianceException with message Address in mailbox given [ref@] does not comply with RFC 2822, 3.6.2. thrown in /kunden/347638_96317/contao/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php on line 308
    
    #0 /kunden/347638_96317/contao/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php(238): Swift_Mime_Headers_MailboxHeader->_assertValidAddress('ref@')
    #1 /kunden/347638_96317/contao/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php(96): Swift_Mime_Headers_MailboxHeader->normalizeMailboxes(Array)
    #2 /kunden/347638_96317/contao/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php(60): Swift_Mime_Headers_MailboxHeader->setNameAddresses(Array)
    #3 /kunden/347638_96317/contao/plugins/swiftmailer/classes/Swift/Mime/SimpleHeaderFactory.php(60): Swift_Mime_Headers_MailboxHeader->setFieldBodyModel(Array)
    #4 /kunden/347638_96317/contao/plugins/swiftmailer/classes/Swift/Mime/SimpleHeaderSet.php(75): Swift_Mime_SimpleHeaderFactory->createMailboxHeader('Reply-To', Array)
    #5 /kunden/347638_96317/contao/plugins/swiftmailer/classes/Swift/Mime/SimpleMessage.php(254): Swift_Mime_SimpleHeaderSet->addMailboxHeader('Reply-To', Array)
    #6 /kunden/347638_96317/contao/system/libraries/Email.php(366): Swift_Mime_SimpleMessage->setReplyTo(Array)
    #7 /kunden/347638_96317/contao/system/modules/mfa/MailFormAttachment.php(125): Email->replyTo('ref')
    #8 /kunden/347638_96317/contao/system/modules/frontend/Form.php(460): MailFormAttachment->processFormData(Array, Array, NULL, Array)
    #9 /kunden/347638_96317/contao/system/modules/frontend/Form.php(214): Form->processFormData(Array, Array)
    #10 /kunden/347638_96317/contao/system/modules/efg/ExtendedForm.php(150): Form->compile()
    #11 /kunden/347638_96317/contao/system/modules/frontend/Hybrid.php(163): ExtendedForm->compile()
    #12 /kunden/347638_96317/contao/system/modules/frontend/Form.php(74): Hybrid->generate()
    #13 /kunden/347638_96317/contao/system/libraries/Controller.php(511): Form->generate()
    #14 /kunden/347638_96317/contao/system/modules/frontend/ModuleArticle.php(194): Controller->getContentElement('55')
    #15 /kunden/347638_96317/contao/system/modules/frontend/Module.php(140): ModuleArticle->compile()
    #16 /kunden/347638_96317/contao/system/modules/frontend/ModuleArticle.php(71): Module->generate()
    #17 /kunden/347638_96317/contao/system/libraries/Controller.php(443): ModuleArticle->generate(false)
    #18 /kunden/347638_96317/contao/system/libraries/Controller.php(307): Controller->getArticle('36', false, false, 'main')
    #19 /kunden/347638_96317/contao/system/modules/frontend/PageRegular.php(100): Controller->getFrontendModule('0', 'main')
    #20 /kunden/347638_96317/contao/index.php(266): PageRegular->generate(Object(DB_Mysql_Result))
    #21 /kunden/347638_96317/contao/index.php(401): Index->run()
    #22 {main}
    ref@ sagt mir nichts. Wobei Ref die Referenz des Selectfeldes ist.

  29. #29
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    Hi Tim G,

    leider hat es bisher immernoch nicht geklappt, diese blöde email-adresse dynamisch ins formular einzubasteln
    mit efg habe ich es allerdings hinbekommen, daß zumindest der gewünschte benutzername zum auswählen aus tl_user angezeigt wird. Beim Abschicken werden aber keine Daten mitgesendet, anscheinend landen die irgendwo anders (ich hatte mal was von wegen "daten ans backend senden" gelesen.
    an zwei stellen hakt es eigentlich:
    1) wenn ich mit dem processFormData-Hook kurz vor dem senden (oder auch schon früher beim auswahl des users aus einem dropdown-menü) an die zugehörige email-adresse (auch aus tl_user) komme/käme, wie nehme ich diese dann als empfängeradresse für das formular?
    2) in welche config.php, im welchen verzeichnis kommt denn diese hook-geschichte und wo muß die entsprechende "myAction.php" gespeichert werden?

    Richtig fündig geworden bin ich hier im forum leider noch nicht ... irgendwie erscheint mir das etwas komplizierter als es eigentlich ist ...

    greez
    Tweety
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  30. #30
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    So schwer ist das nicht

    Hier steht eigentlich alles:
    http://www.tl-usertreffen.weitzeldesign.com/efg-6.html

    Die Empfänger dynamisch setzen geht nur mit dem EFG richtig gut. Dafür wird ein Array-Wert übergeben, der eine kommagetrennten String erwartet mit den Empfänger-Adresse:

    $arrForm['formattedMailRecipient'] = "mail1@...de, mail2@...de"; usw...

    Diese Reihe kann vorher natürlich beliebig erstellt werden. z.b. aus einer Datanbank-Abfrage, oder aus einem anderen Feld
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  31. #31
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    Hi Tim,

    vielen Dank für den Link, sieht so aus, als könnte ich den sogar verstehen.
    Leider wird es diese Woche wohl etwas eng mit dem Testen, aber ich melde mich entsprechend meinem Fortschritt

    bis denne
    Tweety
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  32. #32
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    Hi Tim,

    hat etwas länger gedauert, bis ich wieder einen Schritt weiter war/bin.
    Ich hatte leider ein paar Fehlerchen eingebaut und mein Apache hat irgendein problem mit mail() und postfix...

    Aber gut, jetzt klappt das mit den Email-Adressen wunderbar.

    Jetzt kommt aber ein anderes Problem, wo ich noch keine Idee zur Lösung habe.

    In der Datenbank gibt es "Schulen" an vielen verschiedenen Orten, die aber den selben Lehrer haben können. Mit EFG habe ich also als Dropdown Menü diese Schulen (label) auflisten wollen, und als Übergabewert die ID des dazugehörigen Lehrers (value). Über den Hook komme ich an die Daten von "tl_user" für die entsprechende Mail dran. Bei den ersten Tests ist mir nicht aufgefallen, daß sowohl Schule angezeigt als auch ID übergeben werden, ABER sobald ein Lehrer mehrer Schulen hat, wird nur die erste Schule im Dropdown Menü angezeigt.
    Ich brauche aber alle Schulorte, damit der Nutzer die richtige auswählen kann. Die Mail wird dann zwar immer an den selben verschickt, aber genau so muß das sein.

    Noch ein anderer Schönheitsfehler ist, daß ich bisher noch nicht herausgefunden habe, wie ich an den "label-wert" aus dem Dropdown Menü drankomme, damit ich den in der Mail mitverschicken kann?!?

    Code:
    Schule 1, Lehrer 1 -> Mail an Lehrer 1, Inhalt der Mail: Schule 1
    Schule 2, Lehrer 2 -> Mail an Lehrer 2, Inhalt der Mail: Schule 2
    Schule 3, Lehrer 1 -> Mail an Lehrer 1, Inhalt der Mail: Schule 3
    
    bisher: nur Schule 1 und 2 werden angezeigt, weil in Schule 3 der selbe Lehrer ist wie in Schule 1. In der Mail soll noch Schule 1,2,3 stehen
    bis denne
    Tweety
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  33. #33
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    In der Datenbank gibt es "Schulen" an vielen verschiedenen Orten, die aber den selben Lehrer haben können. Mit EFG habe ich also als Dropdown Menü diese Schulen (label) auflisten wollen, und als Übergabewert die ID des dazugehörigen Lehrers (value). Über den Hook komme ich an die Daten von "tl_user" für die entsprechende Mail dran. Bei den ersten Tests ist mir nicht aufgefallen, daß sowohl Schule angezeigt als auch ID übergeben werden, ABER sobald ein Lehrer mehrer Schulen hat, wird nur die erste Schule im Dropdown Menü angezeigt.
    Ich brauche aber alle Schulorte, damit der Nutzer die richtige auswählen kann. Die Mail wird dann zwar immer an den selben verschickt, aber genau so muß das sein.
    hä??? Mach mal screenshots von deinen Feldern. Nutzt du die EFG Erweiterung für die Select-Felder?

    Noch ein anderer Schönheitsfehler ist, daß ich bisher noch nicht herausgefunden habe, wie ich an den "label-wert" aus dem Dropdown Menü drankomme, damit ich den in der Mail mitverschicken kann?!?
    Wird garantiert mitgesendet. Als 2. Wert im Array, oder value als key und label was Wert dieses keys. Müsste ich nachschauen.
    Wenn des ein DB-Select ist, kann man sich das Label auch einfach aus der DB saugen.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  34. #34
    Contao-Nutzer Avatar von Tweety
    Registriert seit
    26.07.2009.
    Beiträge
    48

    Standard

    Hi Tim,

    vielen Dank für die schnelle Antwort!

    Ich habe es hinbekomme, allerdings vielleicht über einen kleinen Umweg.

    Im Dropdown EFG Feld habe ich bei Label als auch bei Value den selben Eintrag verwendet. Dadurch komme ich dann im Hook erst an die zugehörige ID, die mit tl_user verknüpft ist, und darüber an die Mail-Adresse. Klappt also jetzt alles. Alle Schulen werden angezeigt, und die Suche nach der Mail-Adresse klappt auch.

    Code:
    	public function modifyMailRecipient($arrSubmitted, $arrFiles, $intOldId, &$arrForm)
    	{
    		// Einschraenkung auf das Formular
    		if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_4')
    		{
    			// Heraussuchen der user.id
    			$whereClaus = "WHERE schoolname='" . $arrSubmitted['schulort'] . "'";
    			$objEVTFSchools = $this->Database->execute("Select * FROM tl_evtf_schools $whereClaus");
    			$userEVTFSchools = $objEVTFSchools->director;
    			$whereClaus = "WHERE id=" . $userEVTFSchools;
    			$objMember = $this->Database->execute("SELECT * FROM tl_user $whereClaus");
    
    			// überschreiben des Wertes von 'Empfänger-Adresse' mit dem Wert aus einem Fomularfeld
    			$newMail = $objMember->email;
    			$arrForm['formattedMailRecipient'] = $arrSubmitted['standardMails'] . ', ' . $newMail;
    		}
    		return $arrSubmitted;
    	}
    Für mich ist das damit erledigt.
    Vielen Dank für die zielführende Hilfe!

    greez
    Tweety
    Wie froh bin ich, daß ich Spinat nicht leiden kann, denn schmeckte er mir, so würde ich ihn essen und ich hasse das Zeug!

  35. #35
    Contao-Nutzer Avatar von stephangunnar
    Registriert seit
    12.11.2009.
    Ort
    Wiesbaden
    Beiträge
    187

    Standard

    Ich habe das alles so gemacht wie in der in der Beschreibung und das Formular kommt auch an der richtigen eMail Adresse an, aber wenn ich das Formular abgesendet habe, bekomme ich im Browser (Safari 5.1.7) die folgende Meldung

    Code:
    Invalid request token!
    
    The request token could not be verified. Please go back and try again.
    
    This error occurs if there is a POST request without a valid authentication token. In Contao 2.10, the referer check has been replaced with a request token system. If the problem persists, you may be using an incompatible third-party extension or have not correctly updated your Contao installation.
    
    For more information, visit the Contao FAQ page or search the Contao forum.
    Ich habe natürlich im Forum gesucht, aber nichts gefunden was auf den Hook passen könnte, bzw. ich habe es nicht verstanden was das Problem sein könnte.
    Meine aktuellen Projekte :
    http://sadhya.stephanmichel.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)
    http://das6040.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)

  36. #36
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Vielleicht mag der EFG den neuen Request-Token nicht. Deaktiviere diese mal in den Einstellungen, bzw. überprüfe ob dein Formular über ein Hidden-Field mit besagtem Request-Token verfügt:

    PHP-Code:
    <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}"/> 
    Im Quelltext steht für value dann eine lange Zeichenkette.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  37. #37
    Contao-Nutzer Avatar von stephangunnar
    Registriert seit
    12.11.2009.
    Ort
    Wiesbaden
    Beiträge
    187

    Standard

    Danke für schnelle Hilfe erstmal. Das Formular verfügt über einen Request Token wie ich im Quelltext sehen kann

    HTML-Code:
    <input type="hidden" name="REQUEST_TOKEN" value="c43832fb717aa9cfd1a88b8736b4a2e7" />
    Wo kann man denn diesen Request Token genau deaktivieren? Ich konnte da keine Einstellung im Backend finden können, oder muß man das auch mit einem Hook vornehmen?
    Meine aktuellen Projekte :
    http://sadhya.stephanmichel.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)
    http://das6040.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)

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
  •