Ergebnis 1 bis 15 von 15

Thema: Erweiterung "Benachrichtigungen / Notificationcenter"

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

    Standard Erweiterung "Benachrichtigungen / Notificationcenter"

    Hallo zusammen

    Ich benutze die Erweiterung "Notification Center", bei welchem ich meine eMail Texte super schön gestalten kann, ganz nach den Wünschen der Kunden.
    Nun habe ich aber noch eine Frage betreffend Formularfeldern, die nicht ausgefüllt sind. Im "Notification Center" gebe ich ja den Text und die Formularfelder vor, wie es dargestellt werden soll.
    Kann ich auch irgendwie die Formularfelder unterdrücken, die nicht ausgefüllt sind, obwohl ich diese im Text entsprechend erfasst habe ?

    Beim normalen eMail Versand des Formulares, ohne das Notification Center habe ich ja diese Möglichkeit, dass ich jeweils sagen kann, ob nicht ausgefüllte Felder angezeigt werden sollen oder nicht.

    Besten Dank und viele Grüsse
    Michi

  2. #2
    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

    Da machst du am besten immer ein "IF" drum. Siehe : https://docs.contao.org/books/manual...ersonalisieren

  3. #3
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    709

    Standard

    Hallo Cliffen

    Vielen Dank für die Antwort. Wie mache ich diese IF-Klauseln am Besten, resp richtig ?

    Ich habe folgenden Abschnitt aus dem Bestätigungsmail. Falls er den namen oder das telefon nicht aussfüllt, dann sollte dieses Feld im Mail nicht geliefert werden.
    Habe es mal beim Namen so versucht, aber leider klappt dies so nicht. Es ist auch kein Pflichtfeld mehr. Muss dies wohl anders darstellen, aber wie am Besten ?

    ************************
    Folgende Angaben sind bei uns eingegangen:

    {if Name: ##form_name##==""} {endif}

    Name: ##form_name##
    eMail: ##form_email##
    Telefon / Natel: ##form_telefon##

    Ihre Nachricht an uns:
    ##form_nachricht##
    ************************

    Vielen Dank und Grüsse
    Michi

  4. #4
    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

    Ich denke mal so:

    Code:
    {if ##form_name##!=""}Name: ##form_name##{endif}
    Gruß, Cliff

  5. #5
    Contao-Fan Avatar von Thraile
    Registriert seit
    17.12.2009.
    Ort
    Detmold
    Beiträge
    501
    Partner-ID
    6306

    Standard

    Nicht ganz, in der If Abfrage musst du die ## weg lassen

    Gesendet von meinem D5803 mit Tapatalk

  6. #6
    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

    Stimmt, wie eben im Handbuch (siehe Link oben) gezeigt.

  7. #7
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    709

    Standard

    Hallo
    Kann mir jemand helfen wo ich diesen Fehler finden kann ?

    Fatal error: Uncaught exception InvalidArgumentException with message Unknown data type of comparison value "HASTE-TAG-OPEN-d9d63549c773d83e99d1cc95d77209e9strongHASTE-TAG-CLOSE-d9d63549c773d83e99d1cc95d77209e9=""". thrown in system\modules\core\library\Contao\StringUtil.php on line 557

    #0 system\modules\core\library\Contao\StringUtil.php( 606): Contao\StringUtil::Contao\{closure}('form_namenssc hi...')
    #1 composer\vendor\codefog\contao-haste\library\Haste\Util\StringUtil.php(69): Contao\StringUtil:arseSimpleTokens('HASTE-TAG-OPEN-...', Array)
    #2 composer\vendor\terminal42\notification_center\lib rary\NotificationCenter\MessageDraft\EmailMessageD raft.php(162): Haste\Util\StringUtil::recursiveReplaceTokensAndTa gs('getHtmlBody()
    #4 composer\vendor\terminal42\notification_center\lib rary\NotificationCenter\Model\Message.php(59): NotificationCenter\Gateway\Email->send(Object(NotificationCenter\Model\Message), Array, 'de')
    #5 composer\vendor\terminal42\notification_center\lib rary\NotificationCenter\Model\Notification.php(49) : NotificationCenter\Model\Message->send(Array, 'de')
    #6 composer\vendor\terminal42\notification_center\cla sses\tl_form.php(63): NotificationCenter\Model\Notification->send(Array, 'de')
    #7 system\modules\core\forms\Form.php(544): NotificationCenter\tl_form->sendFormNotification(Array, Array, Array, Array, Object(Contao\Form))
    #8 system\modules\core\forms\Form.php(255): Contao\Form->processFormData(Array, Array, Array)
    #9 system\modules\core\classes\Hybrid.php(239): Contao\Form->compile()
    #10 system\modules\core\forms\Form.php(90): Contao\Hybrid->generate()
    #11 system\modules\core\library\Contao\Controller.php( 484): Contao\Form->generate()
    #12 system\modules\core\modules\ModuleArticle.php(213) : Contao\Controller::getContentElement(Object(Contao \ContentModel), 'main')
    #13 system\modules\core\modules\Module.php(287): Contao\ModuleArticle->compile()
    #14 system\modules\core\modules\ModuleArticle.php(67): Contao\Module->generate()
    #15 system\modules\core\library\Contao\Controller.php( 417): Contao\ModuleArticle->generate(false)
    #16 system\modules\core\library\Contao\Controller.php( 277): Contao\Controller::getArticle(Object(Contao\Articl eModel), false, false, 'main')
    #17 system\modules\core\pages\PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #18 system\modules\core\controllers\FrontendIndex.php( 285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #19 index.php(20): Contao\FrontendIndex->run()
    #20 {main}

    Anbei ein Link auf eine Seite: http://www.loeffler-web.ch/testumgeb...-formular.html

    Ich vermute es muss hier was falsch sein, kann das sein ? Leider sehe ich aber nicht genau wo das es sein könnte.

    {if form_kategorie_allgemein!=""}Kategorie: ##form_kategorie_allgemein##{endif}
    {if form_namensschilder!=""}Namensschilder: ##form_namensschilder##{endif}
    {if form_namensschilder_anzahl!=""}Anzahl Namensschilder: ##form_namensschilder_anzahl##{endif}
    {if form_ferien-abwesenheitsformular!=""}Ferien- / Abwesenheitsformular: ##form_ferien-abwesenheitsformular##{endif}
    {if form_ferien-abwesenheitsformular_anzahl!=""}Ferien- / Abwesenheitsformular Anzahl: ##form_ferien-abwesenheitsformular_anzahl##{endif}
    {if form_retour-couverts-solida!=""}Retour-Couverts Solida: ##form_retour-couverts-solida##{endif}
    {if form_retour-couverts-solida_anzahl!=""}Retour-Couverts Solida Anzahl: ##form_retour-couverts-solida_anzahl##{endif}
    {if form_leerer-monatsrapport!=""}Neutraler Monatsrapport: ##form_leerer-monatsrapport##{endif}
    {if form_leerer-monatsrapport_anzahl!=""}Neutraler Monatsrapport Anzahl: ##form_leerer-monatsrapport_anzahl##{endif}
    {if form_materialbestellformular!=""}Materialbestellfo rmular: ##form_materialbestellformular##{endif}
    {if form_materialbestellformular_anzahl!=""}Materialbe stellformular Anzahl: ##form_materialbestellformular_anzahl##{endif}
    {if form_verkaufsstellen-kontrollblatt!=""}Verkaufsstellen Kontrollblatt: ##form_verkaufsstellen-kontrollblatt##{endif}
    {if form_verkaufsstellen-kontrollblatt_anzahl!=""}Verkaufsstellen Kontrollblatt Anzahl: ##form_verkaufsstellen-kontrollblatt_anzahl##{endif}

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

    Standard

    Hallo zusammen
    Ich habe etwas weiter getestet und noch ein paar Updates hier...

    Vermutlich lag es am "!" anstelle des "=" in der if-Formel. Habe dies angepasst und nun scheint es soweit mal zu funktionieren das es keine Fehlermeldung mehr gibt.

    Anbei ein Link auf eine Seite: http://www.loeffler-web.ch/testumgeb...-formular.html

    Ich teste es allerdings auch nur mit zwei Feldern zur Zeit :-)

    {if form_kategorie_allgemein==""}Kategorie: ##form_kategorie_allgemein##{endif}
    {if form_namensschilder==""}Namensschilder: ##form_namensschilder##{endif}

    Wenn ich das Formular so abschicke, dass ich nur Name, Adresse etc ausfülle und keine Checkbox unten aktiviere, dann wird mir im Bestätigungsmail
    Kategorie:
    Namensschilder
    ==> angezeigt als Titel (ohne Inhalt natürlich, da ich ja auch keine Checkbox aktiviert habe)

    Selektiere ich allerdings die Checkboxen zur "Kategorie" und "Namensschilder", dann wird im Bestätigungsmail nichts angezeigt!!
    Erwartet wäre dann aber:
    Kategorie: Allgemein
    Namensschilder: Namensschilder

    Woran liegt das ?

    Vielen Dank und Grüsse
    Michi

  9. #9
    Contao-Fan Avatar von aadursun
    Registriert seit
    25.09.2011.
    Beiträge
    543

    Standard

    Wäre super, wenn du die Lösung posten könntest.

    VG
    aadursun

  10. #10
    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 "==" heißt GLEICH !!!

    Insofern kommt bei deiner Schreibweise was raus, wenn nicht eingetragen ist.

    Richtiger müsste es so heißen:

    Code:
    {if form_kategorie_allgemein!=""}Kategorie: ##form_kategorie_allgemein##{endif}
    {if form_namensschilder!=""}Namensschilder: ##form_namensschilder##{endif}
    Gruß, Cliff

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

    Standard

    Hallo Cliff
    Super, danke, hatte ich zwar schon so aber scheinbar ist beim copy/paste was falsch gelaufen. Auf jedenfall funktioniert es nun.

    Trotzdem habe ich nun für mich persönlich noch die 1 Million Dollar Frage :-)
    Da ich relativ viele Felder in dem Formular haben werde, darum auch die nicht gefüllten Felder auch nicht anzeigen lassen will in der Bestätigungsmail (was ja nun super funktioniert), wollte ich fragen, ob man die leeren Felder im Mail auch eliminieren kann und die befüllten Felder so raufrücken ?

    Also aktuell sieht es zB so aus:

    Kategorie: Allgemein
    Subkategorie: Namensschilder
    Anzahl: 50 Stück


    Subkategorie: Materialbestellung
    Anzahl: 100 Stück


    In der Mitte wo es frei ist steht im Formular ebenfalls ein Feld, dass nun aber nicht selektiert und auch nicht gebraucht worden ist. Kann ich die zweite obige Subkategorie nach oben schieben in der Bestätigungsmail ? Gibt es dafür einen Code, einen Befehl den man setzen kann ?

    Vielen Dank und Grüsse
    Michi

  12. #12
    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

    Ja das müsstet du in etwa so machen:

    Code:
    Feld A: ##form_felda##{if form_feld_sub!=""}
    Feld Sub: ##form_feld_sub##{endif}
    So wird quasi, wenn die Bedingung zutrifft, erst eine Leerzeile eingefügt und dann der Text ausgegeben.

    Wenn du mehrer optionale Felder hast könntest du probieren, dass du alles hintereinander schreibst und die Zeilenumbrüche mit "\n" oder "<br>" erzeugst.

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

    Standard

    Hallo Cliff

    Besten Dank für die Antwort. Ich weiss nicht ob ich das richtig verstanden habe...
    Du schreibst, dass dann eine Leerzeile eingefügt wird.... Aber genau das will ich eigentlich nicht. Ich möchte gerne, wenn aus dem Formular das 1. / 3. und 5. Feld selektiert wird, dass dann Feld 2 und 4 quasi übersprungen wird in der Mailbestätigung. Dass dann keine Leerzeichen erscheinen, sondern das dich abgefüllten Felder nachrücken, nach oben rutschen.

    Wenn also
    ==> wird abgefüllt {if form_kategorie_allgemein!=""}Kategorie: ##form_kategorie_allgemein##{endif}
    {if form_namensschilder!=""}Namensschilder: ##form_namensschilder##{endif}
    ==> wird abgefüllt {if form_namensschilder_anzahl!=""}Anzahl Namensschilder: ##form_namensschilder_anzahl##{endif}
    {if form_ferien-abwesenheitsformular!=""}Ferien- / Abwesenheitsformular: ##form_ferien-abwesenheitsformular##{endif}
    {if form_ferien-abwesenheitsformular_anzahl!=""}Ferien- / Abwesenheitsformular Anzahl: ##form_ferien-abwesenheitsformular_anzahl##{endif}
    ==> wird abgefüllt {if form_retour-couverts-solida!=""}Retour-Couverts Solida: ##form_retour-couverts-solida##{endif}
    {if form_retour-couverts-solida_anzahl!=""}Retour-Couverts Solida Anzahl: ##form_retour-couverts-solida_anzahl##{endif}

    Alle roten sind abgefüllt, die anderen sind, dann möchte ich, dass es im Mail so ausgewiesen wird:
    ==> wird abgefüllt {if form_kategorie_allgemein!=""}Kategorie: ##form_kategorie_allgemein##{endif}
    ==> wird abgefüllt {if form_namensschilder_anzahl!=""}Anzahl Namensschilder: ##form_namensschilder_anzahl##{endif}
    ==> wird abgefüllt {if form_retour-couverts-solida!=""}Retour-Couverts Solida: ##form_retour-couverts-solida##{endif}

    Vielen Dank und Grüsse
    Michi

  14. #14
    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

    Probiere mal bisschen aus. Zum Beispiel so:

    Code:
    {if form_namensschilder!=""}Namensschilder: ##form_namensschilder##{endif}{if form_ferien-abwesenheitsformular!=""}
    Ferien- / Abwesenheitsformular: ##form_ferien-abwesenheitsformular##{endif}{if form_ferien-abwesenheitsformular_anzahl!=""}
    Ferien- / Abwesenheitsformular Anzahl: ##form_ferien-abwesenheitsformular_anzahl##{endif}{if form_retour-couverts-solida_anzahl!=""}
    Retour-Couverts Solida Anzahl: ##form_retour-couverts-solida_anzahl##{endif}
    Es gilt dann hier, angezeigt wird was innerhalb des "if" steht.

  15. #15
    Contao-Fan
    Registriert seit
    11.06.2013.
    Beiträge
    709

    Standard

    Mit diesem Ansatz hat es genau so funktioniert wie erhofft. So zeigt es mir nur die Felder an die ausgefüllt worden sind und lässt alle anderen weg. So rutschen sämtliche andere Felder nach oben und das Mail wird wieder kommt angezeigt und dargestellt.

    Vielen Dank und Grüsse
    Michi

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
  •