formhandler_subscription – Walkthrough I

In diesem Walkthrough für die TYPO3 Extension formhandler_subscription möchte ich (auf Anfrage) kurz erläutern, wie ihr die Funktion, die eigenen Daten zu bearbeiten, deaktivieren könnt und noch noch die Möglichkeit zum Austragen aus dem Newsletter anbietet.

Als Grundlage gehe ich davon aus, dass ihr die mitgelieferten T3D-Dateien importiert habt, und die Erweiterung gemäß Anleitung eingerichtet habt. Der Seitenbaum sieht dann ungefähr so aus, wichtig für uns ist nachher vor allem die PID der Seite „Newsletter abbestellen“:

Screenshot des TYPO3 Seitenbaums nach dem Import der T3D-Datei

Zunächst mal muss auf der Seiten „Newsletter Anmeldung“ und „Daten ändern“ der Text angepasst werden und das „bearbeiten“ aus dem Text verschwinden.

Nun muss noch die Konfiguration für den E-Mail-Versand angepasst werden. Dazu werfen wir einen Blick in die Datei Configuration/Settings/setup.txt. Wichtig sind für uns die Zielseiten der Auth-Codes in den E-Mails, die an bestätigte Abonnenten verschickt werden. Diese finden wir an zwei Stellen:

formhandler_subscription_request_subscription {
  ...	
  finishers.1.config {
    ...
    finishersExistingConfirmedSubscriber.20.config {
      authCodePage = {$plugin.formhandler_subscription.updateSubscriptionFormPID}
    }
  }
}
...
formhandler_subscription_request_update {
  ...
  // Identische Konfiguration, kopiert aus formhandler_subscription_request_subscription
}

Da die Konstante {$plugin.formhandler_subscription.updateSubscriptionFormPID} zur Zeit an keiner anderen Stelle verwendet wird, können wir diese Problemlos anpassen, so dass sie auf die Seite Zeit, auf der das Abmeldeformular installiert ist, im oben gezeigten Beispiel wäre das dann die 104.

Screenshot des Konstanten-Editors zum Bearbeiten der updateSubscriptionFormPID

Schließlich muss noch der Text in der E-Mail angepasst werden, die an registrierte Abonnenten versendet wird. Dazu wird zunächst eine neue XML-Sprachdatei CustomLabels.xml erstellt und über TypoScript an den erforderlichen Stellen eingebunden. Zum einen als Sprachdatei in der globalen Konfiguration des Anmeldeformulars und des Formulars zur Aktualisierung der eigenen Newsletteranmeldung. Zum anderen im Betreff der Mail, die vom Formular formhandler_subscription_request_update versendet wird.

plugin.Tx_Formhandler.settings.predef {
  formhandler_subscription_request_subscription {
    langFile.2 = fileadmin/template/ext/formhandler_subscription/CustomLabels.xml
  }
  formhandler_subscription_request_update {
    langFile.2 = fileadmin/template/ext/formhandler_subscription/CustomLabels.xml
    finishers.1.config.finishersExistingConfirmedSubscriber {
      30.config.user.subject {
        data = LLL:fileadmin/template/ext/formhandler_subscription/CustomLabels.xml:request_update_email_user_subject
      }
    }
  }
}

Zu guter Letzt könnt ihr noch die Seiten zum Bearbeiten der Anmeldung unterhalb von „Daten ändern“ deaktivieren oder löschen.

Das wars :), ich hoffe ich konnte euch damit einen kleinen Einblick geben, wie ihr die Erweiterung an eure Bedürfnisse anpassen könnt. Zugegeben sind die Anpassungen nicht ganz trivial, aber das liegt in der Natur von formhandler. Diese Extension ist extrem flexibel, aber dafür leider relativ komplex.

Wenn Ihr weitere interessante Anwendungsfälle habt, dann lasst es mich wissen. Sofern meine Zeit es zulässt erstelle ich gerne weitere Walktroughs zur Anpassung von formhandler_subscription oder zu anderen (TYPO3-)Themen.

2 Kommentare » Schreibe einen Kommentar

  1. Hallo Herr Stehlik,

    ich hoffe ich liege damit richtig auf deutsch zu schreiben.

    Ich habe soeben Ihre Extension installiert und auch zum Laufen gebracht.

    Dabei sind mir aber 3 Sachen aufgefallen:

    1.

    Bei formhandler_subscription_request_update muss man die validators für
    gender >
    first_name >
    last_name >
    entfernen, sonst wird das Formular nicht abgeschickt.

    2.

    Das selbe gilt bei: formhandler_subscription_remove_subscription
    gender >
    first_name >
    last_name >
    entfernen, sonst wird das Formular nicht abgeschickt.

    3.

    Nach dem Entfernen des Subscribers wird der User in tt_adress zwar auf hidden gesetzt, zusätzlich aber auch alle Felder geleert. Unschön.
    Hier wäre es denke ich hilfreich, wenn der user nur auf hidden gesetzt wird ohne die Daten zu leeren, oder ihn gleich ganz zu löschen.

    Ansonsten eine tolle Erweiterung! Danke.

    Mit freundlichen Grüßen
    Marcus Bieber

  2. Sorry, der erste Satz macht hier natürlich keinen Sinn.
    Der stammt aus einer Email an Sie.
    Anscheinend existiert die in der Extension-Doku bei typo3.org hinterlegte Email-Adresse bei googlemail nicht mehr.