TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

[Geschlossen] Powermail: Dynamischer Text auf Antwortseite


Autor Nachricht
Verfasst am: 26. 06. 2008 [22:44]
einpraegsam.net
Moderator
Themenersteller
Dabei seit: 17.01.2005
Beiträge: 8534
Anforderung:
In einem Powermail Formular befindet sich ein Dropdown mit Herr/Frau als Auswahl.
Auf der Antwortseite (kann natürlich auch eine E-Mail sein) soll dann je nach Auswahl ein "Sehr geehrte Frau ###UID2###" bzw. "Sehr geehrter Herr ###UID2###" stehen.


Idee:
Eine userfunc zu nutzen wäre vermutlich mit Kanonen auf Spatzen geschossen - also warum nicht typoscript nutzen: Eine CASE Anweisung soll je nach Session Eintrag ein typoscript Objekt dynamisch mit dem jeweils benötigten Text befüllen.


Umsetzung:
Zu erst ein Powermail Formular anlegen mit einer Selectorbox (Dropdown) mit Auswahl Herr/Frau und die UID dieses Feldes merken (z.B. ###UID34###). Das Nachnamefeld kann man sich auch gleich merken (z.B. ###UID2###). Desweiteren benötigen wir die tt_content uid des Powermail Formulares (Mit Mauszeiger über das Seiteninhaltssymbol fahren - z.B. 5345)

Auf der Antwortseite einen dynamischen TS Marker anlegen (z.B. test):
###POWERMAIL_TYPOSCRIPT_TEST### ###UID2###
Dieser könnte später wie folgt befüllt werden:
###POWERMAIL_TYPOSCRIPT_TEST### => Sehr geehrte Frau
###UID2### => Müller

Jetzt ein Extension Template anlegen, dass so aussehen könnte:
TYPOSCRIPT
object = CASE
object.key.data = TSFE:fe_user|sesData|powermail_5345|uid34
object.default = TEXT
object.default.value = Sehr geehrte Frau
object.Herr = TEXT
object.Herr.value = Sehr geehrter Herr
 
plugin.tx_powermail_pi1.dynamicTyposcript {
	test < object
}


TS Erklärung:
Das TS Objekt mit dem Namen object (wie einfallsreich) ist eine CASE Anweisung.
Der Inhalt aus der Session des Feldes mit der uid34 wird geholt (Herr oder Frau).
Standardmäßig wird object mit "Sehr geehrte Frau" befüllt. Falls jedoch das Feld uid34 den Inhalt "Herr" hat, wird object mit "Sehr geehrter Herr" befüllt
Letztendlich wird object an den Marker in Powermail übergeben.


Das wars...



Improvements:
Das ganze muss nicht auf der Antwortseite stattfinden, dass kann auch in einer oder beiden E-Mails benutzt werden.
Dementsprechend können auch andere Datenbanktabellen dynamisch mit TS befüllt werden (vielleicht das nächste HOWTO)


Grüße, Alex icon_biggrin.gif

ProfilWWW
Verfasst am: 10. 09. 2008 [08:54]
grac
Dabei seit: 28.08.2008
Beiträge: 11
habe das +ext template erstellt und eingebunden, wie beschrieben:

TYPOSCRIPT
# dynamische Anrede Powermail
 
object = CASE
object.key.data = TSFE:fe_user|sesData|powermail_1660|uid23
object.default = TEXT
object.default.value = Sehr geehrte Frau
object.Herr = Text
object.Herr.value = Sehr geehrter Herr
 
plugin.tx_powermail_pi1.dynamicTyposcript {
	anrede < object
}


und einen dynamischen marker (anrede) im absender-mail erstellt:

###POWERMAIL_TYPOSCRIPT_ANREDE### ###UID13###

leider wird aber nur der statische inhalt (uid13) eingebunden.

allerdngs habe ich statt einer checkbox radiobuttons gewählt (uid23):

Frau | Frau | *
Herr | Herr

sollte aber doch keinen unterschied machen?

Profil
Verfasst am: 10. 09. 2008 [09:07]
einpraegsam.net
Moderator
Themenersteller
Dabei seit: 17.01.2005
Beiträge: 8534
Ich habe auch keine Checkbox sondern eine Selectorbox genommen...


Was passiert, wenn du den Inhalt direkt ausgibst?

TYPOSCRIPT
page.1 = TEXT
page.1.data = TSFE:fe_user|sesData|powermail_1660|uid23


PS:
Frau | Frau | *
Herr | Herr

ist die Standardeinstellung - das kannst du auch so schreiben:
Frau
Herr

ProfilWWW
Verfasst am: 10. 09. 2008 [09:47]
grac
Dabei seit: 28.08.2008
Beiträge: 11
TYPOSCRIPT
page.1 = TEXT
page.1.data = TSFE:fe_user|sesData|powermail_1660|uid23

(und fortsetzung..?)

interessanterweise hat mit meiner TS-version der default-wert geklappt (Sehr geehrte Frau uid13).

die direkte eingabe bringt dann nicht einmal mehr diese variante.


PS:
Frau | Frau | *
Herr | Herr

ist die Standardeinstellung - das kannst du auch so schreiben:
Frau
Herr


geht bei den radiobuttons nicht.
wenn ich nicht die volle dreifach-zeile eingebe, wird FRAU nicht als default-wert angezeigt.

das generierte HTML sieht jetzt folgendermassen aus:

HTML
<div id="powermaildiv_uid23" class="tx_powermail_pi1_fieldwrap_html tx_powermail_pi1_fieldwrap_html_radio tx_powermail_pi1_fieldwrap_html_23">
		<p class="tx_powermail_pi1_fieldwrap_html_radio_title">Anrede</p>
 
				<div class="powermail_radio_inner powermail_radio_inner_uid23_0">
 
					<label for="uid23_0">Frau</label>
					<input type="radio" name="tx_powermail_pi1[uid23]" value="Frau" class=" powermail_kontakt_fragen_n_ak powermail_radio powermail_uid23 powermail_subuid23_0" id="uid23_0" checked="checked" tabindex="7" />
				</div>
 
				<div class="powermail_radio_inner powermail_radio_inner_uid23_1">
					<label for="uid23_1">Herr</label>
					<input type="radio" name="tx_powermail_pi1[uid23]" value="Herr" class=" powermail_kontakt_fragen_n_ak powermail_radio powermail_uid23 powermail_subuid23_1" id="uid23_1" tabindex="8" />
				</div>
 
	</div>
Profil
Verfasst am: 10. 09. 2008 [11:29]
einpraegsam.net
Moderator
Themenersteller
Dabei seit: 17.01.2005
Beiträge: 8534
1) Hmmm, bei Interesse kann ich mal in dein Backend schauen...

2) Du hast Recht - mein Fehler

ProfilWWW
Verfasst am: 10. 09. 2008 [13:52]
einpraegsam.net
Moderator
Themenersteller
Dabei seit: 17.01.2005
Beiträge: 8534
Habe mir das auf deinem Server angesehen - es funktioniert eigentlich alles einwandfrei, wenn du jetzt noch diese Zeile änderst:
TYPOSCRIPT
object.Herr = Text
object.Herr.value = Sehr geehrter Herr


in
TYPOSCRIPT
object.Herr = TEXT
object.Herr.value = Sehr geehrter Herr


ProfilWWW
Verfasst am: 10. 09. 2008 [14:36]
grac
Dabei seit: 28.08.2008
Beiträge: 11
oh, wie überaus peinlich icon_redface.gif

besten dank


NACHTRAG:
scheint aber doch nicht ganz i.O. zu sein. im FE kam nun direkt nach dem <body>

Sehr geehrte Frau

in abhängigkeit des TS

TYPOSCRIPT
page.1 = COA_INT
page.1.1 < object


habe jetzt die entsprechenden zeilen deaktiviert.
und alles ist wunderbar.
icon_biggrin.gif

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 10.09.2008 um 14:47.]
Profil
Verfasst am: 07. 01. 2009 [16:51]
Seneca
Dabei seit: 15.12.2007
Beiträge: 108
Habe das gleiche Problem:
Ich habe folgendes TS in das +ext der Antwortseite eingebunden:

TYPOSCRIPT
object = CASE
      object.key.data = TSFE:fe_user|sesData|powermail_2116|uid47
      object.default = TEXT
      object.default.value = Sehr geehrte Frau
      object.Herr = TEXT
      object.Herr.value = Sehr geehrter Herr
      plugin.tx_powermail_pi1.dynamicTyposcript {
              anrede < object
      }


In die Antwortseite folgenden Marker gestellt:
###POWERMAIL_TYPOSCRIPT_ANREDE###

Aber der Marker wird nur statisch gelesen.



grac schrieb:

TYPOSCRIPT
page.1 = COA_INT
page.1.1 < object


habe jetzt die entsprechenden zeilen deaktiviert.
und alles ist wunderbar.
icon_biggrin.gif

Wo muss ich den obigen page-Code noch einfügen und welche Zeilen müssen deaktiviert werden?

Gruß
Seneca


__________________________________
Abitur für Spätzünder!
www.sankt-matthias.de
ProfilWWW
Verfasst am: 07. 01. 2009 [16:57]
einpraegsam.net
Moderator
Themenersteller
Dabei seit: 17.01.2005
Beiträge: 8534
Ich kann auch dir anbieten, dass ich mir die Seite mal anschaue - bei Interesse PM

PS: Da das generell funktioniert, schließe ich den Thread, damit dieser nicht zu unübersichtlich wird

ProfilWWW


Auf dieses Thema kann nur von Administratoren geantwortet werden.