Die Newsletter Extension und Typo3 7.6 LTS

Kurz vor Weihnachten versende ich immer den familiären Gruß an all meine Freunde in Form eines HTML Newsletters. Hierfür nutze ich selbstverständlich Typo3. Bei den vorherigen Typo3 Versionen hatte ich bisher immer auf DirectMail zurückgegriffen. Mit der Typo3 Version 7.6 LTS und dem Bootstrap Kickstart Package (bsdist) wollte mir die Einbindung aus verschiedenen Gründen aber nicht wirklich gelingen. Deshalb hatte ich dieses Mal der newsletter Extension den Vorzug gegeben. Ich muss zu meiner Verteidigung aber auch voraus schicken, dass ich weder ein begnadeter Programmierer bin, doch noch erhebliche Lücken in Fluid habe und auch sonst die Zeit zur Umsetzung eher kurz war.

Installation der newsletter Extension

Das Setting

Wie in meinen vorangegangenen Tutorials bereits beschrieben, setze ich auf Typo3 in der Version 7.6 LTS. Auf meinem kleinen Hostingpaket läuft das relativ stabil und für das kleine Projekt sind eventuellen Warnungen zu verschmerzen.

Die Installation

Die Installation der newsletter Extension erfolgt über den Extension Manager.

newsletter installieren
image-493

Installation der Newsletter Extension

Nach der erfolgreichen Installation haben wir im Modulbereich einen neuen Eintrag:

Newsletter Modul
image-494

Das Newsletter Modul im Backend

RealURL

Die newsletter Extension setzt eine funktionierende RealURL Konfiguration voraus. Das setze ich jetzt mal voraus und gehe aus Zeitgründen nicht direkt darauf ein. Zu diesem Thema gibt es verschiedene Tutorials und ich werde sicherlich auch noch eins dazu verfassen.

Die Struktur im Seitenbaum

Im Seitenbaum lege ich im unteren Bereich einen neuen Sysordner „Newsletter“ und darin eine Beispielseite und einen weiteren Sysordner mit den Adressen an.

Seitenbaum für den Newsletter
image-495

Der Seitenbaum für den Newsletter

Das Newsletter Template einbinden

Die bsdist bringt von Haus bereits ein Newsletter Template mit. Dieses befindet sich hier:

Newsletter Template
image-496

Das Newsletter Template

Das Problem damit ist allerdings, dass es viel auf CSS Style Attribute und JavaScript zurückgreift. Viele E-Mail Clients oder Webmails stellen das aber nur ungenügend dar. Das heißt für uns diese Dinge aus dem Template zu schmeißen. Bevor ich das aber tue, lege ich im Ordner Backend Layouts ein neues Layout an:

Backend Layouts
image-497

Backend Layouts

Und hier:

Backend Layout Setting
image-498

Backend Layout Setting

Man könnte sicherlich auf das Home Template nutzen, allerdings bohre ich das Layout später vielleicht noch einmal etwas auf und so trenne ich beides säuberlich.

Es kann sein, dass der Backend layout noch nicht richtig angesteuert wird. Das Typoscript dafür befindet sich unter:

Ordner für Backend Layout festlegen
image-499

Ordner für Backend Layout festlegen

TCEFORM.pages {
# sysfolder with backend layouts
backend_layout.PAGE_TSCONFIG_ID = 3
backend_layout_next_level.PAGE_TSCONFIG_ID = 3

Die 3 ist dabei die UID des Sysordners des Backend Layouts:

UID des Backend Layout Sysordners
image-500

UID des Backend Layout Sysordners

Schließlich müssen wir noch das neue Backend Layout einbinden. Das erfolgt in der:

Newsletter Backend Layout im Setup
image-501

Newsletter Backend Layout im Setup

5 = TEXT
5.value = {$plugin.tx_bootstrapcore.theme.baseDir}/tmpl/backend_layout/tmpl_newsletter.html

Die 5 ist dabei die UID des Backend Layouts:

UID des Newsletter Backend Layouts
image-502

UID des Newsletetr Backend Layouts

Jetzt ist das Backend Layout auch über den Reiter „Apperance“ auswählbar:

Backend Layout auswählen
image-503

Backend Layout auswählen

Das HTML Template anpassen

Wie bereits erwähnt ist das HTML Template nicht ganz so nützlich. Ich habe daher das Template für meine Zwecke etwas angepasst. Die „tmpl_newsletter.html“ könnt ihr hier downloaden.. Die „newsletter.html“ gibt es hier.

In den Sysordner erstellen wir nun noch ein „ext+ Template“ … also eine Erweiterung des Haupttemplates. Dort schreiben wir in das Setup:


page {
config.disableAllHeaderCode = 1
}
plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE >

Der Eintrag „config.disableAllHeaderCode = 1“ schmeißt so alles mögliche aus dem Head der HTML.

So müsste das Newsletter Modul nur noch ganz wenig meckern:

Newsletter Check
image-504

Newsletter Check

Inhalte einfügen

Die Inhalte werden als normale Seitenelemente eingebunden:

Seitenelemente einbinden
image-505

Seitenelemente einbinden

Empfänger einbinden

Das Einbinden der Empfänger funktioniert auch recht simpel. Dazu legen wir in „Adressen“ einen Datensatz an:

Empfängerliste
image-506

Empfängerliste

Das öffnet uns ein Formular, dem wir zunächst einen Namen geben:

Empfänger Bezeichnung
image-507

Empfänger Bezeichnung

Anschließend stelle ich auf „CSV List“ um:

CSV List
image-508

CSV List

In die Maske trage ich folgendes ein:

Adressen eintragen
image-509

Adressen eintragen

Newsletter verzichtet also auf zusätzliche Extensions wie tt_address.

Scheduler einrichten

Bevor wir nun den Newsletter versenden, müssen wir noch den Scheduler einrichten. Ich habe derzeit auf einen CronJob verzichtet, weshalb beim Aufruf des Moduls folgender Fehler erscheint:

Scheduler Fehler
image-510

Scheduler Fehler

Das ist aber nicht weiter tragisch. Anschließend trage ich noch einen Scheduler ein:

Scheduler Setting
image-511

Scheduler Setting

Der Versand

Über den Reiter „Sending“ kann man die Newsletter der jeweiligen Empfängergruppe zuordnen.

Newsletter versenden
image-512

Newsletter versenden

Ich habe ein paar mehr Gruppen angelegt:

Newsletter versenden
image-513

Newsletter versenden

Über „Add to Queue“ werden die Newsletter zum Versand übergeben.

Queue
image-514

Queue

Schiebt man nun den Scheduler an, werden die Mails verschickt.

Analyse

Ein nettes Feature, welches ich mit DirectMail nie wirklich zum LAufen bekommen habe, ist die Statistik Option. Hier sieht man wer wann die Mails geöffnet hat:

Statistik
image-515

Statistik

Statistik
image-516

Statistik

Das war jetzt etwas Quick und Dirty der Versand mit newsletter Extension udn Typo3 7.6. Vielleicht hilft das Tutorial jemandem beim Einstieg.