====== Powermail (powermail) ======
===== Snippets =====
==== Dynamische Anrede ====
Mit folgendem TypoScript lässt sich in Powermail 2.x eine dynamische Anrede des Benutzers in E-Mails und Bestätigungsseite bewerkstelligen.
**TypoScript:**
lib.anrede = CASE
lib.anrede {
key.field = 0
default = TEXT
default.value = Sehr geehrte Damen und Herren,
Herr = TEXT
# Die "7" ist die ID des Powermail-Felds {name}
Herr.data = GP:tx_powermail_pi1|field|7
Herr.noTrimWrap = |Sehr geehrter Herr |,|
Frau = TEXT
Frau.data = GP:tx_powermail_pi1|field|7
Frau.noTrimWrap = |Sehr geehrte Frau |, |
# Englische Übersetzung:
Mr = TEXT
Mr.data = GP:tx_powermail_pi1|field|7
Mr.noTrimWrap = |Dear Mr |, |
Mrs = TEXT
Mrs.data = GP:tx_powermail_pi1|field|7
Mrs.noTrimWrap = |Dear Mrs |, |
Ms = TEXT
Ms.data = GP:tx_powermail_pi1|field|7
Ms.noTrimWrap = |Dear Ms |, |
}
**ViewHelper für Powermail-Plugin:**
{f:cObject(typoscriptObjectPath:'lib.anrede',data:'{anrede}')}
Quelle: [[http://www.typo3.net/forum/thematik/zeige/thema/111899/|typo3.net - Forum]]
Ab **Powermail 2.1.x** werden Powermail-Felder nicht mehr über die UID, sondern den Markernamen angesprochen. Dementsprechend müssen die Zeilen im TypoScript etwas angepasst werden:
# Powermail-Feld {name}
Herr.data = GP:tx_powermail_pi1|field|name
----
==== Empfänger-E-Mail nach gewählter Abteilung ====
Mit ''stdWrap.replacement'' wird hier zudem das Problem mit Leerzeichen im Namen der Auswahl behoben:
plugin.tx_powermail.settings.setup.receiver.overwrite.email = CASE
plugin.tx_powermail.settings.setup.receiver.overwrite.email {
key.data = GP:tx_powermail_pi1|field|pleaseselectthereceiver
// Leerzeichen durch Bindestriche ersetzen:
key.stdWrap.replacement {
10 {
// 32 = ASCII-Code für ein Leerzeichen
search.char = 32
// 45 = ASCII-Code für einen Bindestrich
replace.char = 45
}
}
default = TEXT
default.value = info@example.org
General-request = TEXT
General-request.value = info@example.org
Application = TEXT
Application.value = application@example.org
// Deutsche Übersetzung:
Allgemeine-Anfrage = TEXT
Allgemeine-Anfrage.value = info@example.org
Bewerbung = TEXT
Bewerbung.value = application@example.org
}
----
==== Multiple E-Mails in Dropdown-Menü ====
Wenn über ein Dropdown-Menü mehr als eine Empfänger-E-Mail angegeben werden muss, kann dies mithilfe von //fe_users// geschehen. Für jeden Empfänger wird ein Webseiten-Benutzer angelegt, die jeweiligen UIDs werden kommasepariert nach dem Pipe-Symbol ''|'' ins Textfeld des Dropdown-Menüs eingetragen.
**Beispiel eines Menüs, das den Empfänger je nach gewähltem Land auswählt:**\\
Belgien | 1,4
Deutschland | 2
Österreich | 2,3
Per Typoscript und [[basics:sql|SQL]]-Befehl können die E-Mail-Adressen der gewählten fe_users ausgelesen werden:
plugin.tx_powermail_pi1.email.recipient_mail {
email_query = TEXT
email_query.value = SELECT email FROM fe_users WHERE uid IN(###UID14###)
}
Zu beachten ist, dass der Text vor dem Pipe-Symbol nicht mit dem Marker in der E-Mail ausgegeben werden kann! Es erscheint nur der Wert dahinter.
----
==== Empfangsbestätigung: Name des Absenders ändern ====
Ohne Korrektur versendet Powermail seine E-Mails an den Absender des Kontaktformulars mit dem Namen "Powermail". Um dies zu ändern, genügt dieses Typoscript:
plugin.tx_powermail_pi1.email.sender_mail.sender.name.value = Name
----
==== Powermail-Marker ====
Neben dem Marker ''###POWERMAIL_ALL###'' können die Formularinhalte auch einzeln abgerufen werden, z.B. für die gesendeten E-Mails. Hierfür hat jedes Formularfeld seine UID. Auch die Labels können mit ''###LABEL_UID###'' ausgelesen werden.\\
Ihre Nachricht an uns:
###UID1### ###UID2### ###UID3###
###UID4###
###LABEL_UID5###: ###UID5###
Nachricht: ###UID6###
wird so zu:\\
Ihre Nachricht an uns:\\
Herr Michael Mustermann\\
mail@example.com\\
Auswahlfeld: Wahl A\\
Nachricht: Lorem ipsum ...
----
==== Überflüssige JavaScripts und Stylesheets entfernen ====
Setup-Konfigurationen für **Powermail 2.0.x:**
# JavaScripts entfernen:
page.includeJSFooterlibs {
# jQuery bereits gesetzt:
powermailJQuery >
# jQuery UI Datepicker wird nicht benötigt
powermailJQueryUi >
powermailJQueryUiDatepicker >
}
# CSS entfernen:
page.includeCSS {
powermailJQueryUiTheme >
powermailJQueryUiDatepicker >
}
# Powermail nur für entsprechende Seite:
[PIDinRootline = 17]
page.includeCSS.powermail = fileadmin/Resources/Public/Css/powermail-responsive.css
[else]
page {
includeJSFooterlibs {
powermailJQueryFormValidationLanguage >
powermailJQueryFormValidation >
powermailJQueryTabs >
}
includeJSFooter {
powermailForm >
}
}
[global]
Ab **Powermail 2.1.x** genügt es, folgende Angaben in **Constants** zu setzen:
plugin.tx_powermail.settings {
javascript.addJQueryFromGoogle = 0
javascript.addAdditionalJavaScript = 0
}
----
==== Diverses ====
# Spamshield aktivieren:
plugin.tx_powermail.settings.setup.spamshield._enable = 1
# Fallback, um einzelne Templates zu verändern:
plugin.tx_powermail.view {
templateRootPath >
templateRootPaths {
10 = EXT:powermail/Resources/Private/Templates/
20 = fileadmin/Resources/Private/Templates/powermail/
}
}