MetaModels Workshop in Berlin
Ergebnis 1 bis 14 von 14

Thema: Formular aufgrund Dropdownselection verschicken

  1. #1
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard Formular aufgrund Dropdownselection verschicken

    Hallo zusammen

    Ich erstelle eine Website für einen Fussballclub und der Vorstand wünscht, dass je nach Kategorie, dass aus einem Dropdown selektiert wird, das Formular/Mail an eine andere verantwortliche Person geschickt wird.
    Sprich, der Kunde selektiert "Amateure", dann wird das Mail an den Verantwortlichen der Amateure geschickt. Selektiert er "Junioren", dann wird es an den Juniorenverantwortlichen geschickt.

    Ist sowas möglich und wenn ja, wie genau muss ich das erstellen ? Ich arbeite mit der Erweiterung "Benachrichtigungen".

    Vielen Dank für eure Hilfe und Support.

    Grüsse
    Michi

  2. #2
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    13.581
    User beschenken
    Wunschliste
    Contao Community Administrator
    [Unterstützungsmöglichkeiten]

  3. #3
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    1.856
    User beschenken
    Wunschliste

    Standard

    Exakt.

    Aussehen kann das dann für z.B. die Absender-E-Mail z.B. so:

    Code:
    {if form_mydropdown=="value1"}email@domain.de{else}another-email@domain.de{endif}
    "mydropdown" und "value1" entsprechend ersetzen. Alles ist auch mit "elseif" beliebig erweiterbar.
    Extensions :: Github :: Kein Support per PM.
    Bedenke stets: die Behebung eines Fehlers beginnt bei der Erklärung des Problems !!!
    Wenn ich dir helfen konnte freue ich mich immer über ein Dankeschön von meiner Amazon Wunschliste .

  4. #4
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    Hallo zusammen
    Vielen Dank für die Info's und Links.

    @Cliffen
    Ich gehe davon aus, dass dies auch für die Empfängeradresse geht ?
    {if form_mydropdown=="Amateure"}email@domain.de{endif}

    Wo genau setz ich diese if-Formel ? In welchem Feld im Notification Center ?

    Wenn ich nun mehrere Inhalte im Drowpdown habe, muss ich alles in die gleiche if-Formel reintun ?
    Also wenn es "Amateure", "Profis" und "Nachwuchs" hat...... Würde dann alles in die gleiche if-Formel gepackt ?

    Vielen Dank und Grüsse
    Michi

  5. #5
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Stuttgart
    Beiträge
    580

    Standard

    Um die die if else condition zu meiden, kannst du mit protectedselect den Empfänger direkt im Select angeben, ohne das dieser im FE angezeigt wird.

  6. #6
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    Hallo dhe

    Vielen Dank für den hinweis. Ich habe mir die Erweiterung runtergeladen, doch irgendwie funktioniert diese nicht korrekt.
    Ich kann nur einen Wert eingeben im Dropdown, keine weiteren. Wenn ich die Zeile mittels dem "plus" Symbol erweitern will, dann kann ich diese nicht überschreiben.
    Ich verwende Contao 3.5.31, sollte also passen mit der Angabe dieser Erweiterung.

    Weisst Du zufällig, woran dies liegen kann ?

    Vielen Dank und Grüsse
    Michi

  7. #7
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Stuttgart
    Beiträge
    580

    Standard

    Das hatte ich auch schon mal: ist ein Javascript Fehler. Steht was in deinen Developer Tools (egal ob Chrome oder Firefox) unter "Konsole"?
    Ansonsten in BE mal die Systemwartung durchführen...
    Ansonsten neu installieren hat bei mir immer geholfen...
    Grüße

  8. #8
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    In der Konsole steht leider nichts.
    Ich kann die Erweiterung runterladen und installieren. Ich kann das erste Mail eine Zeile erfassen und möchte dann einen weiteren Eintrag im Dropdown erfassen, doch dies geht dann nicht. Die Zeile ist nicht überschreibar und es reklamiert immer, dass die "Referenzwerte eindeutig sein müssen". Das ist mir auch klar, doch kann ich die Zeile gar nicht editieren.

    Gibt es ein andere Option ?

    Alternativ habe ich noch dies:
    {if form_abteilung=="Aktive"}aktive@loeffler-web.ch{elseif form_abteilung=="Junioren"}junioren@loeffler-web.ch{elseif form_abteilung=="Frauen"}frauen@loeffler-web.ch{elseif form_abteilung=="Juniorinnen"}juniorinnen@loeffler-web.ch{elseif form_abteilung=="Senioren"}senioren@loeffler-web.ch{elseif form_abteilung=="Supporter"}supporter@loeffler-web.ch{elseif form_abteilung=="Passive"}passive@loeffler-web.ch{endif}

    Hoffe diese "else if" ist richtig aufgesetzt ? Das "loeffler-web.ch" wird dann noch mit der Kundenwebsite angepasst. Muss ich dies beim Notificationcenter bei der eMail des Empfängers eingeben, oder ?

    Vielen Dank und Grüsse
    Michi

  9. #9
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    Ich wollte diese ifelse eingeben:
    {if form_abteilung=="Aktive"}aron.trakic@fcaltstetten. ch{elseif form_abteilung=="Junioren"}jasmin.mesic@fcaltstett en.ch{elseif form_abteilung=="Frauen"}aron.trakic@fcaltstetten. ch{elseif form_abteilung=="Juniorinnen"}aron.trakic@fcaltste tten.ch{elseif form_abteilung=="Senioren"}manuel.martinez@vva-zh.ch{elseif form_abteilung=="Supporter"}wtschudi@gmx.net{elsei f form_abteilung=="Passive"}sekretariat@fcaltstetten .ch{endif}

    Leider speichert es mir aber nur bis zu den Juniorinnen ab, alles danach wird abgehackt im Notification Center bei der Empfänger-Eingabe...... Wie kann ich das umgehen ?

  10. #10
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    Es sieht so aus, dass es dort bei 255 Zeichen angelangt und somit nicht mehr gespeichert werden kann.
    Gibt es eine Möglichkeit, dass ich die Grösse des Feldes erweitern kann oder aber eine andere Lösung, damit diese Funktion mit dem Versand an individuelle Adressen funktioniert ?

  11. #11
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    Hallo zusammen
    Hat jemand eine Lösung für dieses Problem oder eine Erklärung, warum die Erweiterung "protected select Extension" nicht korrekt funktioniert ? Ich kann nur eine einzige Zeile erfassen und anschliessend beim Klick auf das "+" um weitere Dropdowneinträge zu erfassen ist es blockiert. Ich kann nicht ind as Feld reinschreiben.

    Bezieht sich die "elseif" Klausel "if form_abteilung=="Aktive"" auf den Wert oder die Bezeichnung im Dropdown ? Also das Wort "Aktive", bezieht sich das auf den Wert oder die Bezeichnung ? Sonst könnte ich da allenfalls mit Abkürzungen noch ein paar Zeichen einsparen.
    Geändert von Michi Löffler (06.05.2019 um 21:02 Uhr)

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    20.566
    User beschenken
    Wunschliste

    Standard

    Welche Version der Extension hast du installiert?

  13. #13
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    Ich habe die Version 1.1.2 installiert.
    Im Netz habe ich noch folgenden interessanten Beitrag gefunden:
    https://community.contao.org/de/show...on-im-Dropdown

    Da wird erwähnt, dass man nur mit der rechten Maustaste reinklicken kann.... Ich habe dies versucht und siehe da, es hat geklappt und ich kann all meine Einträge eingeben. Gemacht getan und rübergesprungen zum Notificationcenter und beim Feld "Empfänger" dann ##form_abteilung1## eingegeben, da dies das Feld ist, wo ich meine Abteilungen und die versteckten eMail Adressen eingegeben habe..... Leider erhalte ich nun folgende Fehlermeldungen:

    Diese Meldung erhalte ich schon beim Laden des Formulares (bei eingeschalteter Fehlermeldunganzeige):

    Warning: Declaration of FormRecipient:rocessFormData($arrSubmitted, $arrLabels) should be compatible with Contao\Form:rocessFormData($arrSubmitted, $arrLabels, $arrFields) in system\modules\formrecipient\FormRecipient.php on line 12

    #0 system\modules\formrecipient\FormRecipient.php(12) : __error(2, 'Declaration of ...', 'D:\\www\\www145\\s...', 12, Array)
    #1 system\modules\core\library\Contao\ClassLoader.php (148): include('D:\\www\\www145\\s...')
    #2 [internal function]: Contao\ClassLoader::load('FormRecipient')
    #3 [internal function]: spl_autoload_call('FormRecipient')
    #4 system\modules\core\library\Contao\Controller.php( 473): class_exists('FormRecipient')
    #5 system\modules\core\modules\ModuleArticle.php(213) : Contao\Controller::getContentElement(Object(Contao \ContentModel), 'main')
    #6 system\modules\core\modules\Module.php(287): Contao\ModuleArticle->compile()
    #7 system\modules\core\modules\ModuleArticle.php(67): Contao\Module->generate()
    #8 system\modules\core\library\Contao\Controller.php( 417): Contao\ModuleArticle->generate(false)
    #9 system\modules\core\library\Contao\Controller.php( 277): Contao\Controller::getArticle(Object(Contao\Articl eModel), false, false, 'main')
    #10 system\modules\core\pages\PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #11 system\modules\core\controllers\FrontendIndex.php( 285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #12 index.php(20): Contao\FrontendIndex->run()
    #13 {main}


    Und das wenn ichd as Formular abschicken will..... Dann erhalte ich obige und diese hier unten angezeigt:

    Fatal error: Uncaught exception ArgumentCountError with message Too few arguments to function Contao\Form:rocessFormData(), 2 passed in D:\www\www145\system\modules\formrecipient\FormRec ipient.php on line 23 and exactly 3 expected thrown in system\modules\core\forms\Form.php on line 297

    #0 system\modules\formrecipient\FormRecipient.php(23) : Contao\Form->processFormData(Array, Array)
    #1 system\modules\core\forms\Form.php(249): FormRecipient->processFormData(Array, Array, Array)
    #2 system\modules\core\classes\Hybrid.php(239): Contao\Form->compile()
    #3 system\modules\core\forms\Form.php(84): Contao\Hybrid->generate()
    #4 system\modules\core\library\Contao\Controller.php( 484): Contao\Form->generate()
    #5 system\modules\core\modules\ModuleArticle.php(213) : Contao\Controller::getContentElement(Object(Contao \ContentModel), 'main')
    #6 system\modules\core\modules\Module.php(287): Contao\ModuleArticle->compile()
    #7 system\modules\core\modules\ModuleArticle.php(67): Contao\Module->generate()
    #8 system\modules\core\library\Contao\Controller.php( 417): Contao\ModuleArticle->generate(false)
    #9 system\modules\core\library\Contao\Controller.php( 277): Contao\Controller::getArticle(Object(Contao\Articl eModel), false, false, 'main')
    #10 system\modules\core\pages\PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #11 system\modules\core\controllers\FrontendIndex.php( 285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #12 index.php(20): Contao\FrontendIndex->run()
    #13 {main}


    Was bedeuten die genau ?

    Zudem habe ich noch festgestellt, dass kein einziges Formular mehr verschickt werden kann seit ich diese Erweiterung installiert habe :-( mmmmmhhhhhhhh ????
    Geändert von Michi Löffler (07.05.2019 um 00:07 Uhr)

  14. #14
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    474

    Standard

    Die Fehlermeldung unten war ein Problem mit der Erweiterung "FormRecipient", welche zwar für die Erweiterung "protectedselect" benötigt wird.
    habe es nun aber bei den Einstellungen deaktiviert und nun funktioniert der Versand.

    Unschön ist allerdings, dass das Mail über den "Notification Handler" zwar verschickt wird, aber im Bestätigungsmail wird nicht die Abteilung erwähnt und ausgewiesen sondern das "geschützte Feld", in welchem die eMail Adresse steht. Um dies zu umgehen wollte ich ein abhängiges Select Attribute machen, doch leider wird das "geschützte Select Feld" nicht erkannt und kann dabei nicht selektiert werden.
    Ich musste dies nun umgehen, indem ich den Kunden zweimal praktisch das gleiche Feld ausfüllen lasse (einmal als "Abteilung" und das andere Mal als "Unterabteilung") und im Bestätigungsmail dann die "Unterabteilung" anzeige.

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
  •