TYPO3 – tx_news Daten an powermail 2.x übergeben
Hier möchte ich Euch kurz beschreiben, wie Ihr von der Erweiteurng tx_news die Daten an ein powermail – Formular übergebt. Zum Beispiel den News Titel und die News ID!
Dazu legt Ihr wie gehabt ein neues powermail – Formular an! Zum Beispiel zum testen ein Feld Vorname, Nachname und einen Absenden Button.
Dann legt Ihr ein neues Feld an mit dem Namen „Veranstaltungstitel“ und geht dann auf den Reiter: Erweitert
Dort setzt Ihr bei dem Feld: „Eigenen Variablennamen vergeben“ einen Haken! Und gebt in dem Feld „Variablenname (ohne umschließende {})“ den Namen ein: veranstaltungstitel
Das ganz habe ich nun noch mal mit einem neuen Feld gemacht und habe es „VeranstaltungsID“ genannt und der neue Variablename wäre dann „veranstaltungsid“
einmal alles abspeichern und nun legen wir für das powermail – Formular ein wenig typoscript Code im SETUP an!
Hier lesen wir einmal den tx_news Titel aus und einmal die tx_news ID aus:
plugin.tx_powermail{ settings.setup{ prefill{ veranstaltungstitel=RECORDS veranstaltungstitel{ source={GP:tx_news_pi1|news} source.insertData=1 source.intval = 1 tables=tx_news_domain_model_news conf{ tx_news_domain_model_news > tx_news_domain_model_news=TEXT tx_news_domain_model_news{ field=title htmlSpecialChars = 1 } } } veranstaltungsid=RECORDS veranstaltungsid { source={GP:tx_news_pi1|news} source.insertData=1 source.intval = 1 tables=tx_news_domain_model_news conf{ tx_news_domain_model_news > tx_news_domain_model_news=TEXT tx_news_domain_model_news{ field=uid htmlSpecialChars = 1 } } } } } }
Important: Never forget the source.intval = 1 to avoid SQL injections and the htmlSpecialChars = 1 to avoid Cross-Site Scripting!
Beide Daten werden nun durch den Befehl: prefill direkt ins Formular eingetragen!
Was Ihr jetzt noch machen könnt, im powermail 2.x – Plugin unter „Betreff der Mail an Empfänger (Leerer Betreff deaktiviert den Mailversand)“ auch noch den tx_news Titel eintragen:
Veranstaltungsbuchung – {veranstaltungstitel}
Das geht natürlich auch bei dem Feld: Betreff der Mail an Absender (Leerer Betreff deaktiviert den Mailversand)
Bei Fragen einfach ein Kommentar schreiben! Vielen Dank!
PS: Es gibt eine neue Ext. (sf_event_mgt) ggf. hilft die auch für solche Anforderungen
Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!
René Gast
Danke, dein Artikel hat mich zu einer Kommentar Extension für News und Powermail insppiriert: https://github.com/cogtail/news_comment
basti
schau mal hier:
http://www.typo3-probleme.de/2014/07/21/typo3-powermail-2-x-mit-tx_news-single-verbinden/
da habe ich weitere Infos beschrieben.
Oder hier:
http://www.typo3-probleme.de/2014/01/22/typo3-powermail-mit-tt_news-single-verbinden/
Dirk
Sehr gute Anleitung, aber wie sieht z.B. ein Link im Template von tx_news aus, der Daten an das Formular übergeben soll?
Mit tt_news sah das so aus:
Online buchen…
Phillip
Ich erhalte nach dem Absenden diesen Fehler:
An argument „news“ does not exist for this request.
Florian
Super! Danke Tom! Jetzt funktioniert es auch 🙂
tom
Statt:
source={GP:tx_news_pi1|news}
folgendes:
source.data = GP:tx_news_pi1|news
funktioniert bei mir. Danke!
Florian
Ich habe soeben den Code nochmal kopiert und ausprobiert, meine Felder bleiben leer!
Ich habe das Powermail auf der gleiche Seite wie die Einzelansichtsseite von tx_news. Das ist ja richtig so, oder?
basti
hast du noch mal geschaut, ob der code passt, da ich dort einen HTML Fehler hatte:
tx_news_domain_model_news >
also so…
Florian
Kann das sein, dass der Code nichtmehr mit der aktuellen Powermailversion funktioniert? Typo3 6.2.11
Winnie
Vielen Dank, sehr hilfreich, aber:
Für intval=1 muss es dann heissen:
:
source.data = GP:tx_news_pi1|news
source.insertData=1
source.intval = 1
tables = tx_news_domain_model_news
:
Sebastian
Vielen Dank, habe auch gleich noch htmlSpecialChars = 1 mit eingebaut.
Wolfgang Wagner
Hi,
danke für dieses Snippet, das könnte mal nützlich sein.
Aber eventuell wäre es aus Sicherheitsgründen noch sinnvoll, folgendes einzufügen:
source.intval = 1
(in beiden Bereichen)
Grüße
Wolfgang