[Frage] Dynamische Emailadresse nach Länderauswahl [Gelöst] TYPO3-Version: 6.2.7

  • opaque opaque
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    18. 11. 2015, 16:55

    Hallo

    ich schaffe es nicht die Emailadresse des Empfängers dynamisch nach dem LAND zu setzen:

    Im Feld Emailadresse des Emüfängers steht:

    1. {f:cObject(typoscriptObjectPath:'lib.receiver')}

    Im Typoscript steht (wobei das Feld mit der Länderauswahl ID 20 hat):

    1. lib.receiver = CASE
    2. lib.receiver {
    3. key.data = GP:tx_powermail_pi1|field|20
    4.  
    5. AUT = TEXT
    6. AUT.value = email@domain.at
    7.  
    8. DEU = TEXT
    9. DEU.value = email@domain.de
    10.  
    11. default = TEXT
    12. default.value = email@domain.com
    13.  
    14. }

    Die Emails werden immer an die default Adresse gesendet.
    Weiters habe ich auch schon folgendes probiert:

    1. lib.receiver = CASE
    2. lib.receiver {
    3. key.data = GP:tx_powermail_pi1|field|20
    4.  
    5. Austria = TEXT
    6. Austria.value = email@domain.at
    7.  
    8. Germany = TEXT
    9. Germany.value = email@domain.de
    10.  
    11. default = TEXT
    12. default.value = email@domain.com
    13.  
    14. }

    Ich habe es schon mit einem anderen Feld (Betreff) probiert (Select: 0,1,2) da geht es dann.

    Powermail 2.4.3
    TYPO3 6.2.12

    Mit dank im voraus
    opaque

  • opaque opaque
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    27. 11. 2015, 14:36 - Lösung

    Sollte es jemand einmal brauchen - hier das fertige TS:

    1. ## Empfänger abhängig vom Land und Betreff
    2. lib.receiver = CASE
    3. lib.receiver {
    4. key.data = GP:tx_powermail_pi1|field|country
    5. USA = COA
    6. # Wenn das Land USA ist an email@domainUSA.com
    7. USA.10 = TEXT
    8. USA.10.value = email@domainUSA.com
    9. # und Betreff (subject - dropdown) Englische Software (engSoftware)
    10. USA.10.if.value.data = GP:tx_powermail_pi1|field|subject
    11. USA.10.if.equals = engSoftware
    12. # wenn Betreff nicht Englische Software (engSoftware) sondern irgendetwas anderes ist dann an email@domain.com
    13. USA.20 = TEXT
    14. USA.20.value = email@domain.com
    15. USA.20.if.value.data = GP:tx_powermail_pi1|field|subject
    16. USA.20.if.equals = engSoftware
    17. USA.20.if.negate = 1
    18. # wenn das Land nicht USA ist dann an email@domain.com
    19. default = TEXT
    20. default.value = email@domain.com
    21. }
    22. page.1 < lib.receiver
    23.  
    24. # Absender Emailadresse abhängig vom Sender einstellen
    25. plugin.tx_powermail.settings.setup.sender.overwrite.senderEmail < lib.receiver

    Wichtig dabei ist die Dropdownfelder mit Text und Wert zu versehen: Englische Software | engSoftware

    LG opaque


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    18. 11. 2015, 17:19

    Hi,

    ich denke, dass das nicht funktionieren kann. Seit powermail 2.2 haben die Felder keine UID sondern Markernamen.

    Wie du dein TypoScript testen kannst?

    Pack einfach mal das auf die Seite:

    1. lib.receiver = CASE
    2. lib.receiver {
    3. key.data = GP:tx_powermail_pi1|field|20
    4.  
    5. Austria = TEXT
    6. Austria.value = email@domain.at
    7.  
    8. Germany = TEXT
    9. Germany.value = email@domain.de
    10.  
    11. default = TEXT
    12. default.value = email@domain.com
    13.  
    14. }
    15. page.1 < lib.receiver

    Vermutlich ändert sich die Mail-Adresse nach dem Absenden nicht.
    Das Problem liegt vermutlich an der Zeile mit GP:tx_powermail_pi1|field|20
    Inspekte mal deinen HTML-Quelltext und schau dir das Namen-Attribut des entsprechenden Feldes an - das sieht vermutlich so oder so ähnlich aus:
    tx_powermail_pi1[field][email]

    Dann muss deine TypoScript-Zeile entsprechend so aussehen:

    1. key.data = GP:tx_powermail_pi1|field|email

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • opaque opaque
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    19. 11. 2015, 08:13

    Hallo

    so funktionierts:

    In Powermail in das Feld Empfänger Email:

    1. {f:cObject(typoscriptObjectPath:'lib.receiver')}

    Ins Setup:

    1. lib.receiver = CASE
    2. lib.receiver {
    3. key.data = GP:tx_powermail_pi1|field|country
    4.  
    5. AUT = TEXT
    6. AUT.value = email@domain.at
    7.  
    8. DEU = TEXT
    9. DEU.value = email@domain.de
    10.  
    11. default = TEXT
    12. default.value = email@domain.com
    13.  
    14. }
    15. page.1 < lib.receiver

    Jetzt möchte ich noch zusätzlich abhängig von einem Dropdownfeld die Emailadresse ändern.
    Also wenn das Land Österreich UND Bereich = Software ist dann soll die Email an email@domain.at gehen.
    Wenn das Land Österreich UND Bereich = Hardware ist, soll die Email an email@domain.com gehen.

    Ich habe ein Dropdown mit den Werten:

    1. <option value="Software">Software</option>
    2. <option value="Hardware">Hardware</option>

    Geht das?

    Lg opaque

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    19. 11. 2015, 09:35

    Ins Blaue:

    1. lib.receiver = CASE
    2. lib.receiver {
    3. key.data = GP:tx_powermail_pi1|field|country
    4.  
    5. AUT = COA
    6. AUT.10 = TEXT
    7. AUT.10.value = email@domain.at
    8. AUT.10.if.value.data = GP:tx_powermail_pi1|field|hardodersoftware
    9. AUT.10.if.equals = Software
    10. AUT.20 = TEXT
    11. AUT.20.value = email@domain.com
    12. AUT.20.if.value.data = GP:tx_powermail_pi1|field|hardodersoftware
    13. AUT.20.if.equals = Hardware
    14.  
    15. DEU = TEXT
    16. DEU.value = email@domain.de
    17.  
    18. default = TEXT
    19. default.value = email@domain.com
    20.  
    21. }

    Hier alles zu TypoScript und if:
    https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/If/Index.html

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • opaque opaque
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    27. 11. 2015, 14:36

    Sollte es jemand einmal brauchen - hier das fertige TS:

    1. ## Empfänger abhängig vom Land und Betreff
    2. lib.receiver = CASE
    3. lib.receiver {
    4. key.data = GP:tx_powermail_pi1|field|country
    5. USA = COA
    6. # Wenn das Land USA ist an email@domainUSA.com
    7. USA.10 = TEXT
    8. USA.10.value = email@domainUSA.com
    9. # und Betreff (subject - dropdown) Englische Software (engSoftware)
    10. USA.10.if.value.data = GP:tx_powermail_pi1|field|subject
    11. USA.10.if.equals = engSoftware
    12. # wenn Betreff nicht Englische Software (engSoftware) sondern irgendetwas anderes ist dann an email@domain.com
    13. USA.20 = TEXT
    14. USA.20.value = email@domain.com
    15. USA.20.if.value.data = GP:tx_powermail_pi1|field|subject
    16. USA.20.if.equals = engSoftware
    17. USA.20.if.negate = 1
    18. # wenn das Land nicht USA ist dann an email@domain.com
    19. default = TEXT
    20. default.value = email@domain.com
    21. }
    22. page.1 < lib.receiver
    23.  
    24. # Absender Emailadresse abhängig vom Sender einstellen
    25. plugin.tx_powermail.settings.setup.sender.overwrite.senderEmail < lib.receiver

    Wichtig dabei ist die Dropdownfelder mit Text und Wert zu versehen: Englische Software | engSoftware

    LG opaque

  • 1