Zum Inhalt springen

powermail 2.x - Dynamischer Text auf Antwortseite

Erstellt am 28. August 2012 · 18 Antworten · letzte Antwort am 18. Juli 2015

Tags: Fluid, Powermail, Tipp

perse ·

Hi Alex,

ich versuche gerade in einem Formular, abhängig von gewähltem Selectboxeintrag, die Empfänger-Adresse zu setzen. Ich habe folgende Einstellungen

lib.empfaenger_mail = CASE
lib.empfaenger_mail {
  
  #key.data = GP:tx_powermail_pi1|field|1629
  key.field = 1629
  
  default = TEXT
  default.value = abc@test.de
  
  1 = TEXT
  1.value = def@test.de
  
  2 = TEXT
  2.value = ghi@test.de
  
}

Bild: great-community.de/1.png
Bild: great-community.de/2.png

Dann im Plugin auf der Kontaktseite folgendes als Empfänger eingetragen:
Bild: great-community.de/3.png

Offenbar habe ich irgendwo einen Fehler. Kannst du mir sagen was ich falsch mache?

Vielen Dank und viele Grüße
Marc

franzferdinand ·

Super Sache, der ViewHelper!
Was ich leider nicht hinbekomme ist die Übergabe eines Feldwertes an ein lib Ojekt.
Ich habe im RTE-Feld angegeben:
{f:cObject(typoscriptObjectPath:'lib.weiterempfehlen',data:'{text}')}

im TS hab ich (erstmal vereinfacht, soll später in ein Weiterempfehlen-Formular FORM integriert werden):
lib.weiterempfehlen = COA
lib.weiterempfehlen {
10 = TEXT
10.value.current = 1
10.value.wrap = <p>Test-Text: |</p>
}

Es kommt leider nichts raus. Was mach ich falsch?

einpraegsam.​net ·

Beispielverwendung

# {f:cObject(typoscriptObjectPath:'lib.weiterempfehlen',data:'{text}')}
lib.weiterempfehlen = TEXT
lib.weiterempfehlen.field = 0
# Debut Output
# lib.weiterempfehlen.data = debug:data
sugi ·

Guten Morgen liebe Forummitglieder,

ich habe verschiedene Möglichkeiten probiert und komme nicht weiter. Hoffe, ihr könnt mir helfen.

Problemdarstellung: Nach dem Update von Powermail auf 2.x habe ich das Formular neu erstellt. Das Formular wird an verschiedene Empfänger verschickt. Dieses Formular wird für Veranstaltungsanmeldung verwendet, d.h. es ist mit einer anderen Extension verbunden und diese basiert nicht auf Extbase.
Der Redakteur gibt im BE die Veranstaltungen mit verschiedenen Empfängern ein, die dann im DB gespeichert sind (Tabelle tx_eventbrowser_event Feld contact_email). Der Anmelder wählt keinen Empfänger, was die Umsetzung für mich schwer macht.

Bisher wurde das mit folgender TS-Code realisiert:

plugin.tx_powermail_pi1 {
	prefill {
		uid88 < lib.event_title.100
		uid70 < lib.event_termin.100
		uid97 < lib.contact_email.100
		#uid98 < lib.event_end.100
	}
	dynamicTyposcript {
		receiver_email = RECORDS
		receiver_email {
			source.data = TSFE:fe_user|sesData|powermail_12687|uid91
			source.intval = 1
			tables = tx_eventbrowser_event
			conf.tx_eventbrowser_event = TEXT
			conf.tx_eventbrowser_event.field = contact_email
		}
		senders_data = COA
		senders_data {
			10 < lib.event_title.100
			10.source.data = TSFE:fe_user|sesData|powermail_12687|uid91
			10.wrap = <span style="color:#7199AC; font-weight:bold; margin:0 20px;"> | </span>
			
			20 < lib.event_termin.100
			20.source.data = TSFE:fe_user|sesData|powermail_12687|uid91
			20.wrap = <span style="color:#7199AC; font-weight:bold; margin:0 20px;"> | </span>
			
			30 < lib.event_end.100
			30.source.data = TSFE:fe_user|sesData|powermail_12687|uid91
			30.wrap = <span style="color:#7199AC; font-weight:bold; margin:0 20px;"> | </span>
		}
		receiver_data < .senders_data
		
	}
	###POWERMAIL_TYPOSCRIPT_RECEIVER_EMAIL###
}

# powermail zwischenspeichern
temp.powermail < plugin.tx_powermail_pi1

plugin.tx_powermail_pi1.email.recipient_mail.sender.name.value = Seminaranmeldung

Den Marker ###POWERMAIL_TYPOSCRIPT_RECEIVER_EMAIL### habe ich entfernt und in "E-Mail Adresse des Empfänger" folgendes eingegeben:

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

was nicht funktioniert. Leider! 😢 Sitze schon seit einer Woche und komme nicht weiter. Vielleicht zeigt sich ja ein Licht in der Dunkelheit...

Viele Grüße und einen schönen Wochenanfang!

einpraegsam.​net ·

So schwer sollte das eigentlich nicht sein.
Du kannst entweder bereits im Formular drei Hiddenfields füllen mit Werten aus der Tabelle (Titel, Termin, E-Mail) oder du schleifst die UID des Datensatz mit durch und machst im Anschluss deine Abfrage.

Erstere Möglichkeit
Drei Hiddenfields erstellen (auch die entsprechenden Marker merken) und über TypoScript mit den Werten aus der Tabelle befüllen. Hier wird das Powermail Formular aufgerufen mit index.php?id=123&eventUid=1234 - Bsp:

plugin.tx_powermail.settings.setup.prefill {
   markerName1 = RECORDS
   markerName1 {
      source.data = GP:eventUid
      source.intVal = 1
      tables = tx_eventbrowser_event
      conf.tx_eventbrowser_event = TEXT
      conf.tx_eventbrowser_event.field = contact_email
   }
   markerName2 ...
}
sugi ·

Vielen Dank! Du hast mir den entsprechenden Hint gegeben. 😃

Hab im "E-Mail Adresse des Empfänger" die Variablenname gesetzt.

stevepa ·

Hallo,

ich habe eure Beiträge gelesen aber genau das richtige ist noch nicht für mich dabei.

Ich habe eine Checkbox "ich möchte Kataloge digital downloaden".
Auf der Antwortseite soll dann bei aktivierter Checkbox ein Text erscheinen mit den Download-Links, bei den anderen fehlt dieser Teil einfach.

Wie würde der Code in diesem Fall aussehen?

Vielen Dank für Eure Hilfe!

LG

einpraegsam.​net ·

Ich denke, dass die einfachste Möglichkeit eine Weiterleitung auf eine andere Seite wäre, je nachdem, ob die Checkbox angehakt ist oder nicht.

Beispiel:
- Auf Seite 123 hast du den normalen Text und
- auf Seite 234 hast du den Text mit den Downloads

plugin.tx_powermail {
	settings {
		setup {
			thx.overwrite.redirect = TEXT
			thx.overwrite.redirect.value = 123
		}
	}
}

# powermail 2.1.x mit Markername {download} für die Checkbox:
[globalVar = GP:tx_powermail_pi1|field|download|0]
plugin.tx_powermail.settings.setup.thx.overwrite.redirect.value = 234
[end]

# powermail 2.0.x mit Uid 555 für Downlaod Checkbox:
[globalVar = GP:tx_powermail_pi1|field|555|0]
plugin.tx_powermail.settings.setup.thx.overwrite.redirect.value = 234
[end]
ShaBaNakk ·

Hallo,

ich würde gerne einem Termin eine ID zuweisen. Mit dem im Beispiel beschriebenen Code komme ich leider nicht ganz an mein Ziel. Vielleicht kann mir jemand einen Schubser in die richtige Richtung geben; Beispiel was ich machen möchte:

Powermail-Dropdown-Feld "Termin":
Bsp-Auswahl1: 18.07.2015 - 13:00 Uhr
Bsp-Auswahl2: 18.07.2015 - 14:00 Uhr

Der Empfängermail die ich bekomme würde ich gerne noch je nach Termin eine Termin-ID am Anfang anfügen.

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

Dazu mein Template:

lib.termin = CASE
lib.termin {
  key.field = 0
  
  "18.07.2015 - 13:00 Uhr" = TEXT
  "18.07.2015 - 13:00 Uhr".noTrimWrap = |12345|
  
  "18.07.2015 - 14:00 Uhr" = TEXT
  "18.07.2015 - 14:00 Uhr".noTrimWrap = |54321|

}
    }

Mein Code funktioniert mit den Anführungszeichen so nicht, wie muss ich das Template verändern?

Schonmal vielen Dank!

einpraegsam.​net ·

Du kannst einen TypoScript CASE nicht mit Werten mit Leerzeichen nutzen.
Ich würde die Auswahl im powermail select mit ids machen, aber Termine anzeigen. Beispiel Eintrag im Feld Options (eines Feldes vom Typ Select):

Bitte wählen:|
18.07.2015 - 13:00 Uhr|1
18.07.2015 - 14:00 Uhr|2

Wenn der Besucher sichtbar "18.07.2015 - 13:00 Uhr" auswählt, wird eine 1 übertragen - damit lässt sich auch mit TypoScript und CASE etwas anfangen

ShaBaNakk ·

Danke für die schnelle Rückmeldung. Leider bekomme ich dann über {powermail_all} aber auch eine 1 anstatt des richtigen Termins in der Bestätigung für den Absender. Kann man dort weiterhin "18.07.2015 - 13:00 Uhr" zurückgeben?

einpraegsam.​net ·

ja, aber auch hier müsstest du die 1 wieder umschreiben - siehe:
http://docs.typo3.org/typo3cms/extensions/powermail/ForAdministrators/GoodToKnow/ManipulateValuesFromPowermailAll/Index.html

---

Ich würde die Termine vermutlich in irgendwelchen Datensätzen (tt_content, news, tt_news, etc...) durch Redakteure pflegen lassen. Den Select-View mit TypoScript aufbauen (siehe http://docs.typo3.org/typo3cms/extensions/powermail/ForAdministrators/GoodToKnow/PrefillField/Index.html#example-3 - wobei die uid des Datensatzes der value und der title der label wäre). In allen anderen views kann man dann die uid durch den titel wandeln lassen.

ShaBaNakk ·

Nochmals danke.

Ich schau mal ob Variante 1 vom Umfang her noch machbar ist. Die zweite Option übersteigt meinen Horizont leider ein wenig ;-)