[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 |
|
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? |
|
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 |
|
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> |
|
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 |
|
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 Herrin TYPOSCRIPT object.Herr = TEXT object.Herr.value = Sehr geehrter Herr |
|
Verfasst am: 10. 09. 2008 [14:36]
|
|
|
grac
Dabei seit: 28.08.2008
Beiträge: 11
|
oh, wie überaus peinlich 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. [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 10.09.2008 um 14:47.] |
|
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. Wo muss ich den obigen page-Code noch einfügen und welche Zeilen müssen deaktiviert werden? Gruß Seneca |
|
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 |
Auf dieses Thema kann nur von Administratoren geantwortet werden.




