FAQ zur "TYPO3 - Extension »Powermail«"

Alle anzeigen / Alle verbergen

Antwort auf/zuklappen Wie kann ich in Powermail Version 2.x die Anrede dynamisch gestalten?

Alles was in Powermail V1.x war kann man unter Powermail V2.x vergessen, so auch die Möglichkeit einer persönlichen Anrede mit Namen aus dem Formular. Ich habe das in einem früheren Artikel für die 1er Version beschrieben, hier nun auch für die Version 2.

Alex Kellner gab die Initialzündung in seinem Post unter www.typo3.net/forum/beitraege/formulare/111899/

 

Ich habe es noch auf Firma ausgeweitet und den Namen mit ins Typoscript hinein genommen, da bei Firma ja niemand namentlich angesprochen wird sonder eben nur Damen und Herrn.

Dazu wird im Typoscript folgendes eingetragen:

lib.anrede = CASE
lib.anrede {
    # Übergebener Wert
    key.field = 0

    # Wert kann alternativ auch direkt von GET- oder POST-Parameter geholt werden
    #key.data = GP:tx_powermail_pi1|field|13
    default = TEXT
    default.value = Sehr geehrte Damen und Herren,

    Herr = TEXT
    # Die "4" ist die ID des Powermail-Felds "{name}" z.B.
    Herr.data = GP:tx_powermail_pi1|field|4
    Herr.noTrimWrap = |Sehr geehrter Herr |,|

    Frau = TEXT
    Frau.data = GP:tx_powermail_pi1|field|4
    Frau.noTrimWrap = |Sehr geehrte Frau |, |
}

 

In das Formular tragen Sie das cObject an entsprechender Stelle ein, z.B. in der Email und/oder in der Antwort:

 

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

Das sind Ihre Daten, die wir empfangen haben:
{powermail_all}

Mit freundlichem Gruß
kupix webdesign

 

 

Antwort auf/zuklappen Wie versende ich mit Powermail eine Nachricht an mehrere Adressen aus fe_user oder tt_address?

Es steht ziemlich gut im Handbuch von Alex Kellner (einpraegsam.net) beschrieben, es bedarf jedoch auch eine kleine Änderung (Verbesserung):

Ich möchte im FE eine Auswahlbox, aus der der Anwender z.B. eine Gruppe auswählen kann:

  1. Füge mehrere Benutzer als FE-User im BE mit Emailadresse ein (z.B. UID1 info@test.com and UID2 with support@test.com)

  2. Erstelle ein Powermail-Select-Feld (z.B. mit den Werten
    Info | 1
    Support | 2)
    (Select-Feld mit der uid ###UID42### z.B.)

  3. Benutze db query für die Email-Empfänger im TYPO3-BE (z.B. SELECT email FROM fe_users WHERE uid = ###UID42###)

 

Im Typoscript Setup z.B.:

plugin.tx_powermail_pi1.email.recipient_mail {
email_query = TEXT
email_query.value = SELECT email FROM fe_users WHERE uid = ###UID42###
}

Beispiel des Select-Felds:

Weitere Beispiele um einen Empfänger im Frontend auszuwählen (entnommen aus dem Handbuch von Powermail):

Abfrage um einen speziellen User abzufragen (z.B..: UID42 ist die fe_user-id):

SELECT email FROM fe_users WHERE uid = ###UID42### AND hidden = 0 AND deleted = 0

 

Abfrage um eine Gruppe aus einer FE-usergroup asuzuwählen (z.B.: UID43 ist die fe_usergroup-id):

SELECT email FROM fe_users WHERE find_in_set(###UID43###,usergroup) > 0 AND hidden = 0 AND deleted = 0

 

Abfrage zum Senden einer Nachricht an eine feste FE-usergroup (z.B.: usergroup mit der Id 44)

SELECT email FROM fe_users WHERE find_in_set(44,usergroup) > 0 AND hidden = 0 AND deleted = 0

 


 

Mit diesen o.a. Select-Abfragen bekommt man leider auch Datensätze, die keinen Email-Eintrag und/oder einen Eintrag ohne "@" haben im Email-Feld, außerdem hat die Tabelle fe_users kein "hidden"-Feld.

 

Diese Select-Anweisung sollte die gewünschten Ergebnisse bringen:

SELECT email FROM fe_users WHERE find_in_set(44,usergroup) > 0 AND deleted = 0 and trim(email) != '' and POSITION('@' in email) > 0

 

 

 

Kategorie: Powermail
Antwort auf/zuklappen Wie kann ich in Powermail Version 1.x die Anrede dynamisch gestalten?

In Abhängigkeit der Auswahl für die Anrede, das können eine Select-Box oder auch Radio-Buttons sein kann man mit einem dynamischen Powermail-Marker eine individuelle Anrede gestalten.

Hier mal unser Beispiel für eine Auswahl von "Frau", "Herr" und "Firma" (powermail-Feld-id = uid22). Der Nachname/Firmenname steht im Feld mit der uid 12. Die 1037 bei "powermail_1037" entspricht der UID des Formular-Datensatzes (Powermail-Plugin):

 

tmp.anrede = COA
tmp.anrede {
   10 = CASE
   10{
      key.data = TSFE:fe_user|sesData|powermail_1037|uid22
      default = TEXT
      default.data = TSFE:fe_user|sesData|powermail_1037|uid12
      default.stdWrap.wrap = Sehr geehrte Frau  |,
      Herr = TEXT
      Herr.data = TSFE:fe_user|sesData|powermail_1037|uid12
      Herr.stdWrap.wrap = Sehr geehrter Herr  |,
      Firma = TEXT
      Firma.value = Sehr geehrte Damen und Herren,
   }
}
plugin.tx_powermail_pi1.dynamicTyposcript {
   anrede < tmp.anrede
}

 

 

Der dynamische Powermail-Marker z.B. auf der Formular-"Antwortseite" lautet:

###POWERMAIL_TYPOSCRIPT_ANREDE###