Hallo
ich schaffe es nicht die Emailadresse des Empfängers dynamisch nach dem LAND zu setzen:
Im Feld Emailadresse des Emüfängers steht:
{f:cObject(typoscriptObjectPath:'lib.receiver')}
Im Typoscript steht (wobei das Feld mit der Länderauswahl ID 20 hat):
lib.receiver = CASE
lib.receiver {
key.data = GP:tx_powermail_pi1|field|20
AUT = TEXT
AUT.value = email@domain.at
DEU = TEXT
DEU.value = email@domain.de
default = TEXT
default.value = email@domain.com
}
Die Emails werden immer an die default Adresse gesendet.
Weiters habe ich auch schon folgendes probiert:
lib.receiver = CASE
lib.receiver {
key.data = GP:tx_powermail_pi1|field|20
Austria = TEXT
Austria.value = email@domain.at
Germany = TEXT
Germany.value = email@domain.de
default = TEXT
default.value = email@domain.com
}
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
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:
lib.receiver = CASE
lib.receiver {
key.data = GP:tx_powermail_pi1|field|20
Austria = TEXT
Austria.value = email@domain.at
Germany = TEXT
Germany.value = email@domain.de
default = TEXT
default.value = email@domain.com
}
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:
key.data = GP:tx_powermail_pi1|field|email
Hallo
so funktionierts:
In Powermail in das Feld Empfänger Email:
{f:cObject(typoscriptObjectPath:'lib.receiver')}
Ins Setup:
lib.receiver = CASE
lib.receiver {
key.data = GP:tx_powermail_pi1|field|country
AUT = TEXT
AUT.value = email@domain.at
DEU = TEXT
DEU.value = email@domain.de
default = TEXT
default.value = email@domain.com
}
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:
<option value="Software">Software</option>
<option value="Hardware">Hardware</option>
Geht das?
Lg opaque
Ins Blaue:
lib.receiver = CASE
lib.receiver {
key.data = GP:tx_powermail_pi1|field|country
AUT = COA
AUT.10 = TEXT
AUT.10.value = email@domain.at
AUT.10.if.value.data = GP:tx_powermail_pi1|field|hardodersoftware
AUT.10.if.equals = Software
AUT.20 = TEXT
AUT.20.value = email@domain.com
AUT.20.if.value.data = GP:tx_powermail_pi1|field|hardodersoftware
AUT.20.if.equals = Hardware
DEU = TEXT
DEU.value = email@domain.de
default = TEXT
default.value = email@domain.com
}
Hier alles zu TypoScript und if:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/If.html
Sollte es jemand einmal brauchen - hier das fertige TS:
## Empfänger abhängig vom Land und Betreff
lib.receiver = CASE
lib.receiver {
key.data = GP:tx_powermail_pi1|field|country
USA = COA
# Wenn das Land USA ist an email@domainUSA.com
USA.10 = TEXT
USA.10.value = email@domainUSA.com
# und Betreff (subject - dropdown) Englische Software (engSoftware)
USA.10.if.value.data = GP:tx_powermail_pi1|field|subject
USA.10.if.equals = engSoftware
# wenn Betreff nicht Englische Software (engSoftware) sondern irgendetwas anderes ist dann an email@domain.com
USA.20 = TEXT
USA.20.value = email@domain.com
USA.20.if.value.data = GP:tx_powermail_pi1|field|subject
USA.20.if.equals = engSoftware
USA.20.if.negate = 1
# wenn das Land nicht USA ist dann an email@domain.com
default = TEXT
default.value = email@domain.com
}
page.1 < lib.receiver
# Absender Emailadresse abhängig vom Sender einstellen
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