Zum Inhalt springen

Prefil bei powermail 2.0.16

Erstellt am 25. August 2014 · 1 Antwort · letzte Antwort am 28. August 2014

Tags: Powermail, TYPO3 6.x, Frage

alumnisierter ·

Moin Moin,

ich arbeite mit powermail in der Version 2.0.16 unter einer 6.2.4-Version von Typo3, welche ich gerade nach einem Update nun vollumfänglich neu anpassen musste.

Mein Problem liegt beim Versenden der Mail, welche ich stets ganz einfach über {powermail_all} zusammengestellt hatte. Dabei muss ich sämtliche Felder in der Mail mit ausgeben, also auch solche die vom Benutzer nicht ausgefüllt wurden. Früher habe ich einfach über folgenden Weg, die Felder vor dem Versenden geprüft und ggf. mit Werten ergänzt:

plugin.tx_powermail_pi1.mode.recipient_mail {
  
    uid6 = COA
    uid6 {
      10.if.isTrue.field = uid6
      10 = TEXT
      10.field= uid6
      20.if.isFalse.field = uid6
      20 = TEXT
      20.value= PLZ
      }
}

Leider wird diese Funktion so nicht mehr geboten, respektive bei mir funktioniert sie nicht mehr.

Könnte mir jemand kurz weiter helfen, da ich leider keine leeren Felder versenden darf.

Beste Grüße

einpraegsam.​net ·

Die Manipulation der Werte über "mode" in TypoScript gibt es in powermail 2.0 (noch) nicht.

Aber ich denke, wenn du sowieso alle Felder anlangen musst (siehe dein TypoScript), dann würde ich das lieber im HTML-Template machen.

Original EXT:powermail/Resources/Private/Templates/Mail/ReceiverMail.html

<f:section name="main">
	<vh:Misc.Variables variablesMarkers="{variablesWithMarkers}" mail="{mail}" type="mail">
		<f:format.html parseFuncTSPath="lib.parseFunc">
			{powermail_rte}
		</f:format.html>
	</vh:Misc.Variables>

	<f:render partial="Misc/MarketingInformation" arguments="{marketingInfos : marketingInfos}" />
</f:section>

Geänderte Version

<f:section name="main">
Vorname:
<f:if condition="{vorname}">
  <f:then>{vorname}</f:then>
  <f:else>Rainer</f:else>
</f:if>

Nachname:
<f:if condition="{nachname}">
  <f:then>{nachname}</f:then>
  <f:else>Zufall</f:else>
</f:if>

E-Mail:
<f:if condition="{email}">
  <f:then>{email}</f:then>
  <f:else>fallback@domain.org</f:else>
</f:if>
</f:section>

Hinweis 1: Bitte nicht das Partial direkt im Extension Ordner überschreiben, sondern ins Fileadmin auslagern (siehe Handbuch) - sonst sind deine Änderung nach dem nächsten Update weg.

Hinweis 2: In powermail 2.1 kannst du mit {label_nachname} auch den lokalisierten Label ausgeben

In Powermail 2.1 kann das Partial mit Schleife dann so aussehen (um nicht alle Felder definieren zu müssen):

<f:section name="main">
<f:for each="{mail.answers}" as="answer">
  {answer.field.title}:
  <f:if condition="{answer.value}">
    <f:then>{answer.value}</f:then>
    <f:else>{answer.field.title}</f:else>
  </f:if>
</f:for>
</f:section>

Alle Infos zu Powermail 2.1:
https://forge.typo3.org/projects/extension-powermail