Zum Hauptinhalt springen

EXT powermail

Empfänger per dropdown auswählen

Quellen

Aus der Doku zu powermail: Best Practice, Predefined Receiver

Zwar ein alter Beitrag, aber von dem Entwickler Alex Kellner erklärt:  Empfänger per Dropdown im Formular wählen (für powermail v2)

Und noch ein Forumbeitrag, wo Alex Kellner ausführliche Hilfe leistet: Dynamische Emailadresse nach Länderauswahl

Getestet mit:
TYPO3 7.6
powermail 3.x

Beispiel

Dropdownfelder mit Text und Wert:

Bitte wählen...|
Auswahl 1 | A1
Auswahl 2 | A2

Powermail Feld: Empfänger Email

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

Mailadresse per TS festlegen

    ## Empfänger abhängig von der Auswahl
    lib.receiver = CASE
    lib.receiver {
      key.data = GP:tx_powermail_pi1|field|variablenname
      key.intval = 1
      A1 = TEXT      
      A1.value = mail-01@domain.de
      A2 = TEXT    
      A2.value = mail-02@domain.de

      default = TEXT
      default.value = mail@domain.de
    }
    
     
    # Absender Mailadresse abhängig von der Auswahl
    plugin.tx_powermail.settings.setup.sender.overwrite.senderEmail < lib.receiver

Mailadresse von FE_Users holen

lib.receiver = CONTENT
lib.receiver {
        table = fe_users
        select {
                # Seite mit FE_Users
                pidInList = XYZ
                andWhere {                        
                        data = GP:tx_powermail_pi1|field|variablenname
                        wrap = fe_users.uid=|
                        intval = 1                 
                }
        }
        renderObj = TEXT
        renderObj {
                field = email
        }
}

TS für die Anzeige der Benutzernamen und die Umwandlung von Benutzername zur E-Mail

#Grundlage ist, dass FE Users in der Datenbank mit eindeutigen Benutzernamen existieren.

#In einem Auswahlfeld lasse ich die Benutzernamen anzeigen (Abfrage über TypoScript). Dieses nehmen wir als Grundlage für eine Datenbankabfrage "getEmailFromUsername" (auch über TypoScript).

#Auswahl der Empfänger im Formular:
#https://s3.amazonaws.com/fvd-data/notes/262407/1411122534-NoDw6F/screen.png

#Anzeige der Empfänger auf der Bestätigungsseite:
#https://s3.amazonaws.com/fvd-data/notes/262407/1411122606-dL36aT/screen.png

#Das Feld Receiver hat den Marker {receiver} und bei "Create from TypoScript" lib.receiver
#https://s3.amazonaws.com/fvd-data/notes/262407/1411122708-ftrCDR/screen.png

#Das TypoScript für die Anzeige der Benutzernamen und die Umwandlung von Benutzername zur E-Mail:

# Auswahl der Empfänger
lib.receiver = COA
lib.receiver {
  10 = TEXT
  10.value = Bitte wählen|[\n]
 
  20 = CONTENT
  20 {
    table = fe_users
    select.pidInList = 104
    renderObj = COA
    renderObj {
      10 = TEXT
      10.field = username
      10.wrap = |[\n]
    }
  }
}
 
# Email von Benutzername für Versand
lib.emailFromUsername = CONTENT
lib.emailFromUsername {
  table = fe_users
  select {
    pidInList = 104
    andWhere {
      field = 0
      wrap = username="|"
      htmlSpecialChars = 1
    }
  }
  renderObj = TEXT
  renderObj {
    field = email
  }
}

#Im Feld Empfänger greift Powermail auf lib.emailFromUsername zu und übergibt den Wert von {receiver}:
#https://s3.amazonaws.com/fvd-data/notes/262407/1411123269-VcDOUT/screen.png

{f:cObject(typoscriptObjectPath:'lib.emailFromUsername',data:receiver)}

#Quelle: https://www.typo3.net/forum/thematik/zeige/thema/112554/