====== 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/ } }