Download the PHP package wapplersystems/fe-registration without Composer
On this page you can find all versions of the php package wapplersystems/fe-registration. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wapplersystems/fe-registration
More information about wapplersystems/fe-registration
Files in wapplersystems/fe-registration
Package fe-registration
Short Description Frontend user registration for TYPO3 based on EXT:form with double opt-in confirmation.
License GPL-2.0-or-later
Homepage https://github.com/WapplerSystems/t3-fe-registration
Informations about the package fe-registration
EXT:fe_registration
Frontend-Registrierung mit Double-Opt-In für TYPO3 v14. Die Extension stellt
ein feregistration_registration-Content-Element bereit, das ein per
EXT:form definiertes Registrierungsformular rendert und nach
E-Mail-Bestätigung einen fe_users-Datensatz anlegt.
Schnellinstallation
Anschließend Site-Set wapplersystems/fe-registration in
config/sites/<site>/config.yaml als Dependency eintragen, damit alle
Finisher- und Validator-Defaults geladen werden:
Aufbau eines Registrierungs-Formulars
- Eine Form-YAML unter
EXT:meinpaket/Resources/Private/Forms/anlegen – z. B. basierend aufEXT:fe_registration/Configuration/Yaml/Forms/Standard.form.yaml. - Pflichtfelder: mindestens ein
Email-Feld und einEmailConfirmation-Feld. DasEmailConfirmation-Feld trennt Pre-Confirmation (Daten erfassen, Bestätigungs-Mail senden) von Post-Confirmation (Daten aus Confirmation- Request laden,fe_usersanlegen). - Finisher-Block mit ConfirmationRequest + ConfirmationEmail, plus optional CompleteRegistration / FeUser / NewsletterSubscription – siehe Beispiel unten.
Mindest-Finisher-Block
Wichtig: Die
preConfirmation: true-Markierung sorgt dafür, dassConfirmationRequestundConfirmationEmailnur beim ersten Submit ausgeführt werden. Beim Klick auf den Bestätigungslink (Post-Confirmation) entferntRegistrationPatchFormFactorymarkierte Finisher automatisch, damit kein zweiter Confirmation-Request entsteht.
Content-Element konfigurieren
Im Backend ein Content-Element vom Typ "Frontend User Registration" anlegen. Im Reiter Plugin Options:
| Feld | Beschreibung |
|---|---|
settings.form |
YAML-Form, die gerendert werden soll |
settings.forward |
Seite, auf die nach erfolgreichem Abschluss weitergeleitet wird |
settings.identifierFieldName |
Form-Feld, dessen Wert fe_users.username wird (Dropdown, aus YAML) |
settings.emailFieldName |
Form-Feld, das die Empfänger-Mailadresse liefert (Dropdown, aus YAML) |
settings.confirmationRequestPid |
Sysfolder für Confirmation-Requests |
settings.feUserStoragePid |
Sysfolder für neu angelegte fe_users |
settings.usergroups |
Welche fe_groups der neue User automatisch zugeordnet bekommt |
settings.feUserMustConfirmed |
Wenn aktiv, bleibt der fe_users-Datensatz disable=1 bis ein Admin freigibt |
identifierFieldName und emailFieldName werden im Backend als Dropdown
mit den verfügbaren Form-Feldern der unter settings.form gewählten YAML
befüllt. Nach Auswahl einer neuen Form muss der Datensatz einmal gespeichert
werden, damit die Dropdowns aktualisiert erscheinen (TYPO3-Standardverhalten:
"Refresh required"-Dialog).
URL-Beautification per Route Enhancer
Damit der Bestätigungslink in der Form
/registrierung/confirm/<hash> statt mit GET-Parameter erscheint, im
Site-Konfig folgenden routeEnhancer eintragen (Page-ID auf die Seite mit
dem Registrierungs-CE anpassen):
Mail-Transport
Der Versand läuft über den TYPO3-Mailer ($GLOBALS['TYPO3_CONF_VARS']['MAIL']).
Für lokale Tests bietet sich Mailpit (SMTP localhost:1025) an. In Produktion
typischerweise SMTP-Auth, Sendmail oder
WapplerSystems\MicrosoftGraphMailer\Mailer\GraphTransport.
Aufräumen abgelaufener Confirmation-Requests
Im Scheduler einplanen, damit nicht bestätigte Anfragen nicht ewig liegen bleiben.
Debugging
EXT:claude_diagnosticsinstallieren —ts:setup/ts:constants/database:queryhelfen beim Inspect der Plugin-Settings.- TYPO3-Log unter
var/log/typo3_*.logzeigt Finisher-Exceptions (Failed to execute finishermit Stacktrace). - Mailpit (
https://<projekt>.ddev.site:8026) zeigt alle ausgehenden Mails.