Webansicht des Newsletters mit direct_mail

Bei direct_mail ist es gar nicht so trivial, in einem Newsletter den Link zur Webansicht einzubauen, denn dabei müssen verschiedene Dinge beachtet werden:

  1. Der Link sollte auf die richtige Seiten-ID gehen
  2. Der Link sollte in der Webansicht selbst nicht zu sehen sein
  3. Die Webansicht sollte nicht personalisiert sein

Im Manual von direct_mail steht dazu leider nichts näheres, daher hier meine kleine Anleitung:

1. Vorbereitungen

Damit der Newsletter ordentlich konfiguriert werden kann, mit verschiedenen Inhalten für die Webansicht und dem eigentlichen Newsletter, muss eine Subdomain angelegt werden, z.B. „newsletter.meine-webseite.de“. Die Webansicht des Newsletters wird dann unter dieser Subdomain angeboten. Dafür muss die Subdomain als Domain Record angelegt werden, der an erster Stelle im Newsletter-Root abgelegt ist. Der eigentliche Newsletter, der an die Abonnenten verschickt wird, muss aber über die Hauptdomain verschickt werden. Das erreicht man, indem man in der direct_mail-Konfiguration die Hauptdomain als „Domäne für interne Links“ auswählt:
Konfiguration Hauptdomain

2. Link zur Webansicht

Für den HTML-Newsletter wird mit TypoScript folgender Link erzeugt und ins Newsletter-Template eingebaut:

lib.webview = TEXT
lib.webview {
  value = Klicken Sie hier, wenn Sie diese E-Mail nicht lesen können.
  typolink.parameter.data = page:uid
}

Diese URL sollte vor allem auch in der Nur-Text-Version des Newsletters erscheinen. Dafür setzt man in das Plain-Text-Newsletter-Template einen Platzhalter:

Sie erhalten die Nur-Text-Version unseres Newsletters.
Den vollwertigen Newsletter können Sie sich hier anschauen: ###WEBVIEW###

Dieser Platzhalter wird mit nachfolgender TypoScript-Anweisung durch die URL zur Webansicht ersetzt:

tx_directmail_pi1.10.marks {
  WEBVIEW = TEXT
  WEBVIEW {
    typolink.parameter.data = page:uid
    typolink.returnLast = url
  }
}

3. Link in Webansicht verstecken

Anhand der zuvor angelegten Subdomain kann man das TypoScript-Objekt „webview“ entfernen:

[globalString = IENV:HTTP_HOST = newsletter.*]
lib.webview >
[end]

Genauso kann man im übrigen auch mit dem Link für die Newsletter-Abmeldung verfahren: Auch dieser hat in der Webansicht nichts verloren.

4. Keine Personalisierung

direct_mail bietet die Personalisierung eines Newsletters an, beispielsweise mit Platzhaltern für Name (###USER_name###) oder E-Mail-Adresse (###USER_email###). Diese Platzhalter werden idealerweise auch in der Webansicht mit den Daten des Abonnenten ersetzt. Das geht aber mit direct_mail (noch) nicht, daher sollte man für die Webansicht einen unpersonalisierten Newsletter anbieten.

Mit der Erweiterung multidomain_publishing kann man für jedes Inhaltselement individuell bestimmen, unter welcher Domain es angezeigt wird. Nehmen wir zum Beispiel die Begrüßung, die wir als Inhaltselement „Text“ angelegt haben mit dem Text „Lieber ###USER_name###“. Dieses Inhaltselement stellen wir so ein, dass es nur unter der Hauptdomain angezeigt wird:

Inhaltselement für bestimmte Domain verbergen

Für die Webansicht wird ein zweites Text-Inhaltselement an, das die Begrüßung „Lieber Leser“ enthält, hier stellen wir aber ein, dass es nur unter der Newsletter-Domain angezeigt wird. Daher ist es wichtig (wie in Punkt 1. Vorbereitungen erläutert), dass der Cronjob die Newsletter-Seite unter der Hauptdomain abruft, die Webansicht aber unter der Newsletter-Subdomain angezeigt wird.

Autor:
Geändert: Donnerstag, 28. Januar 2016 13:04 Uhr
Erstellt: Mittwoch, 23. Januar 2013 15:13 Uhr
Tags: , , , , , , , , ,
Themengebiet: Web Entwicklung, TYPO3, TYPO3 Extensions

Trackback: Trackback-URL LoadingZu Favoriten hinzufügen

3 Kommentare

  1. 1

    Sehr schöner Beitrag. Über das Problem mit dem Ausblenden von gewissen Inhalten in der Webansicht bin ich bei einem Projekt soeben gestolpert. Was denkst du bzgl. Caching und der Condition? Sollte man die Newsletter generell nicht cachen, damit die Condition funktioniert oder klappt das auch mit eingeschaltetem Caching? Hast du das mal getestet?

    Danke und Grüße, Björn

  2. 2

    Hallo Björn,

    TypoScript-Conditions funktionieren auch mit eingeschalteten Caching. Der einzige Nachteil von TS-Conditions ist, dass es bei falscher Anwendung die Caching-Tabellen ganz schön aufblähen kann. Aber bei ein paar wenigen TS-Conditions, die nur für wenige Seiten greifen, ist das gar kein Problem.
    Die oben beschriebene Webansicht für Newsletter ist in mehreren Kundensystemen so im Einsatz.

    Viele Grüße
    Sven

  3. 3

    HI Sven,

    danke für deine Antwort. Ich habe nochmal darüber nachgedacht, wie du es umgesetzt hast. Der Knackpunkt ist wirklich, dass das Ganze unter einer Subdomain läuft. Gute Idee und nochmals danke für den Beitrag.

    Grüße, Björn

Kommentar abgeben