Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

De:Front End User Registration

From TYPO3Wiki
Jump to: navigation, search

<< zurück zu De:Overview Extension manuals


Achtung: Eine deutsche Übersetzung des Manuals ist bereits fertiggestellt und im TER verfügbar.

Extension Key: sr_feuser_register - sr_feuser_register


Autor: Stanislas Rolland / Franz Holzinger, <franz@no spam please ttproducts.de>

Dieses Dokument ist veröffentlicht unter der Open Content Lizenz veröffentlicht, zu finden unter http://www.opencontent.org/openpub/

Der Inhalt dieses Dokuments bezieht sich auf TYPO3, ein GNU/GPL CMS/Framework erhältlich von http://www.typo3.org


Einleitung

Worum geht es?

Das "Front End User Registration" Plugin ist eine Variante von Kasper Skårhøj's "Front End User Admin" Extension, mit der sich der User selbst registrieren kann.

Die Extension, Front End User Registration, beinhaltet :

  • Den Gebrauch von Standard Typo3 Einrichtungen und Tools: Localisation, alternative Sprachen, charsets other than ISO 8859-1, TypoLink url's, constant editor, default CSS in TS setup;
  • Die Verwendung von Länder-Codes, Regional-Codes und Sprach-Codes der statischen Informations Tabellen of the Static Info Tables;
  • Zusatz von Vornamen-, Nachnamen-, Geburtsdatums- und "HTML E-Mails empfangen" - Feldern (module_sys_dmail_html);
  • versendet HTML E-Mails;
  • optionales Einfügen der HTML Bestätigungs E-Mails (als Attachment);
  • Benutzer-upload und -verwaltung einer Bilderauswahl (zum Beispiel Fotos);
  • Gültigkeitsprüfung der Benutzerdefinierten Internetadresse (Website-Url);
  • Sendet eine Registrierungsaufforderung an den User (E-Mail) mit Aktivierungs-Url.


Anforderungen

Diese Extension wurde entworfen, um sie in Verbindung mit der Extension "New Login Box" und mit der "Static Info Library" Extension zu benutzen.

Die Extension funktioniert mit Typo3 3.6.0 und auch mit Typo3 3.5.0, solange die TS Setup Eigenschaft "config.metaCharset" nicht verwendet wird.


Credits

Diese Extension wurde von der "Front End User Admin" Extension von Kasper Skårhøj abgeleitet. Das "E-Mail Attachment Feature" ist eine Idee von Volker Graubaum <volker.graubaum(AT)e-netconsulting.de>. Die Gültigkeitsprüfung der "Website-Url" basiert auf dem URL Validator von Esben Maaløe <esm(AT)baseclassmodulweb.dk>. Um Daten vor 1970 zu ermöglichen wurde für das Feld "Geburtsdatum" die ADOdb Date Time Library von John Lim benutzt.


Screenshots

Benutzer Handbuch

Zuerst sollte die Extension installiert und konfiguriert werden: Details im Konfigurationsabschnitt. Als nächstes sollten Sie das HTML-Template auf Ihre Seite anpassen: Details im Administrationsabschnitt.

Dann können die Besucher anfangen sich als Front-End-User zu registrieren. Die Vorgehensweise wird im Folgenden dargestellt:

  • Direkt unter der Login-Box wird dem User ein Link zum Registrierungsformular angeboten oder, falls der User schon eingeloggt ist, ein Link zum Editieren des Profils;
  • Ein neuer User füllt das Registrierungsformular aus. Beim Absenden wird ihm eine Vorschau-Seite ange-boten um ihm das Prüfen seiner Daten zu ermöglichen, bevor er seinen Account anlegt. Danach wird dem User mitgeteilt, dass ihm eine E-Mail gesendet wird um die Registrierung zu beenden, sein Account wird nun einer temporären Benutzergruppe zugewiesen, die seine zukünftigen Zugriffsrechte auf geschützte Seiten verhindern soll;
  • Eine E-Mail wird dem User gesendet. Diese Nachricht beinhaltet zwei Links: Ein Link erlaubt dem User seine Registrierung zu bestätigen, der andere sie abzubrechen (falls jemand seine E-Mailaddresse missbraucht hat);
  • Beide Links bringen den User, via seinem Browser, zu einer Seite mit einer Nachricht (Bestätigung oder Abbruch). Hat er seine Registrierung bestätigt, wird ihm eine Login-Box angezeigt und kann sich einlog-gen. Sobald der User seine Registrierung bestätigt wird sein Account einer Benutzergruppe zugewiesen, die ihm den Zugriff auf geschützte Seiten erlauben soll. Natürlich nur soweit diese geschützen Seiten auch von Ihnen der Benutzergruppe zugeordnet wurden;
  • Wenn der User eingeloggt ist kann er seinen Account editieren oder löschen;
  • Wärend jedem Ereignis (Registrierung, Bestätigung, Abbruch, Aktualisierung oder Beseitigung) besteht die Möglichkeit, eine E-Mail an den User zu senden, um die jeweilige Aktion zu bestätigen. Ebenso kann eine E-Mail als Notiz an den Administrator gesendet werden. Die E-Mail des Users kann auch im HTML-Format versendet werden (diese E-Mail beinhaltet dann immer eine “Plain-Text” Version).

Sie können die Extension auch so konfigurieren, dass authorisierte User einen Account für eine Person anlegen dürfen und diese die Möglichkeit bekommen, diese “Einladung“ (via E-Mail versendet) zu bestätigen oder abzulehnen.


Adminstration

Lokalisierung

Sprachdateien

Um die Extension im Front-End auf eine andere Sprache umzustellen wird für jede Sprache eine eigene XML-Datei benötigt.

Die Haupt-Sprachdatei locallang.xml (Englisch) liegt im Ordner typo3conf/ext/sr_feuser_register/pi. Du kannst sie bei Bedarf mit der Extension 'locallang-XML translation tool' übersetzen.

Sendet Übersetzungen und Text-Verbesserungen an http://translation.typo3.org/.

Über das Translation-Handling im Extension-Manager können bereits vorhandene Sprachdateien importiert werden.

Sollte dies nicht funktionieren können Sprachdateien auch über folgende Links heruntergeladen werden:

http://jambage.com/development/l10n.tar.gz

http://jambage.com/development/l10n.zip

Nach dem Entpacken muss die jeweilige SPRACHE.locallang.xml-Sprachdatei in folgendes Verzeichnis kopiert werden:

typo3conf/l10n/SPRACHE/sr_feuser_register/pi1/

"SPRACHE" steht hierbei für den benötigten Ländercode, bei Deutsch dementsprechend für "de". Es muss also für jede hinzugefügte Sprache ein eigenes Verzeichnis in typo3conf/l10n existieren. Um das Front-End auf deutsch umzustellen sieht der Pfad letztlich also so aus:

typo3conf/l10n/de/sr_feuser_register/pi1/de.locallang.xml


Konfiguration

Konfigurationsschritte

Dies sind die Schritte um die Frontend User Registrierung (sr_feuser_register) Extension zu installieren

1. Installiere die Extension, benutze hierzu den Extension Manager. Wenn sie noch nicht installiert sind, dann wirst Du dazu aufgefordert die Static_Info_Library Extension zu installieren. Du solltest außerdem in Betracht ziehen die folgenden Extensions zu installieren: New Login Box (newloginbox), KB MD5 FE Passwort (kb_md5fepw) und FE, BE Library (fh_library). Damit die MD5-Verschlüsselung der Passwörter funktioniert, muss diese Funktion bei der Installation der Extension (sr_feuser_register) im Extension Manager aktiviert werden.

2. Installiere eines der folgenden Static Templates zu Deinem TypoScript Template: "FE User Registration CSS-styled" oder "FE User Registration Old Style"(Zu finden in Deinem eigentlich Template, das Du auf Deiner Hauptseite benutzt). Wenn Du das Template "FE User Registration CSS-styled" auswählst, dann sollte auch die Version 1.4.9+ der Extension Static Info Library (sr_static_info) installiert sein.

3. Falls noch nicht vorhanden, erstelle eine Systemordnerseite. In dieser werden die von der Extension erzeugten Datensätze der FE User aufgenommen. Setze den TS Template Constant Front end user records PID im PLUGIN.SRFEUSERREGISTER_PI1 auf die Page ID dieses System Ordners. Erzeuge im System Ordner zwei Benutzergruppen. Setze die TS Template Constant userGroupUponRegistration auf die uid der ersten Gruppe und und die Constant userGroupAfterConfirmation auf die uid der zweiten Gruppe. Die zweite Gruppe gibt Zugang zu den Seiten die die FE User benutzen dürfen, die erste nicht.

4. Erzeuge eine Seite vom Typ "Erweitert", verweise im Feld "Allgemeine Datensatzsammlung" auf den zuvor erstellten System-Ordner, der die Datensätze der FE User aufnimmt, die von der sr_feuser_register Extension erzeugt werden. Füge auf dieser Seite als Inhalt eine newloginbox ein. Dann, auf der gleichen Seite, nach der newloginbox, füge das sr_feuser_register Extension ein. Setze den CODE auf leer bzw. auf normal. Setze den Ausgangspunkt auf den zuvor angelegten System-Ordner, der die FE User Datensätze aufnimmt. Setze die TS template constant loginPID im Plugin des SRFEUSERREGISTER_PI1 auf die Page ID dieser Seite. (TIP: Das geht über den Template Constant Editor. Den erreicht man, wenn man die Seite auswählt, auf der das Template gespeichert ist. Im Backend dann auf "Template" klicken und dann ganz rechts oben den Constant Editor auswählt. Hier kann man dann über die Category das PLUGIN.SRFEUSERREGISTER_PI1 die verschiedenen Werte setzen, u.a. die loginPID)

5. Erzeuge eine erste Unterseite und setze den Zugriff (Zugriff ausgewählt) unter Allgemeine Optionen im Seitenheader auf "Beim Login verstecken". Füge die Extension (sr_feuser_register) ein, setze den CODE auf CREATE (anmelden) und der Ausgangspunkt auf den System-Ordner, der die FE Userdaten aufnimmt. Hinweis: Die Zugriffsbeschränkung soll im Seitenheader gesetzt werden und nicht im Inhalt der Seite. Setze im Constant Editor (s.o) die registerPID auf die Page ID dieser Seite.

6. Erzeuge eine zweite Unterseite und beschränke den Zugriff auf diese Seite auf die zweite Benutzergruppe (userGroupAfterConfirmation) die Du erzeugt hast. Füge die sr_feuser_register Extension auf der Seite ein und setze den CODE auf EDIT (bearbeiten). Den Ausgangspunkt setzt Du wieder auf den System-Ordner mit den FE Userdaten. Hinweis: Die Zugriffsbeschränkung ist im Seitenheader zu setzen und icht im Inhaltselement. Setze im Constant Editor die Konstante editPID auf die Page ID dieser Seite.

7. Erzeuge eine dritte Unterseite und setze die Zugriffsbeschränkung unter "Allgemeine Optionen" auf "Beim Login verstecken!". Setze wieder die Extension auf die Seite, lasse den CODE leer (normal) und setze den Ausgangspunkt auf den System-Ordner der die FE Userdaten enthält. Auch hier soll die Zugangsbeschränkung auf dem Seitenheader eingetragen werden und nicht im Inhaltselement. Setze im Constant Editor die Konstante confirmPID auf die Page ID dieser Seite.

notice - Note

Hier scheint ein Übersetzungsfehler vorzuliegen. Im Original heisst es: "Create a fourth page setting the page type to 'Advanced' and click the checkbox at “Hide in menu”." --> Also nicht (oder zusätzlich) Zugriffsbeschränkung setzten, sondern die Checkbox "Im Menü verstecken" aktivieren.

8. Entscheide welche Felder Du im Anmeldeformular haben willst, und welche von diese required (notwendig) sind, um sich zu registrieren. Setze im Constant Editor die Konstanten formFields und requiredFields.

9. Überprüfe die Extensionkonstanten die hier beschrieben werden. Alle Werte können über das Constant Editor TS template Tool bearbeitet werden. Wenn Du nicht den Constant Editor benutzt, kannst Du die Werte auch im Constant-Bereich Deines TS Template konfigurieren. Hier muß dann folgende Schreibweise benutzt werden: plugin.tx_srfeuserregister_pi1.property = Wert


FAQ

Edit-option is not set in TypoScript

F: Was soll ich tun? A: Meist liegt dieses Problem daran, dass kein Modus bei den Plugin Einstellungen angegeben ist.

Fehlermeldung kommt auch, wenn in der Template-Definition vergessen wurde, die zur Extention gehörenden statics ("Include static (from extensions)" einzubinden.

The "Edit User Profile"-Link doesn't work

If the EditLink (default text in version 1.60 "Click here to edit your profile or delete your account.") doesn't work and leads you to the homepage double check that the user have access to the edit page. Make sure the edit page is not hidden. Make the edit page accessible to the usergroup of registered users (and do not hide it at login).

How to define a default language/country in registration form

To define default values for the combo-boxes in the registration form, add this to your TS setup:

plugin.tx_staticinfotables_pi1 {
  languageCode = DE
  countryCode = DEU
  countryZoneCode = NRW
}

Referenz

Property:

Data type:

Description:

Default:

Tutorial

Bekannte Probleme

Derzeit (2.5.7) sind zwei Bugs in der Datei "class.tx_srfeuserregister_tca.php". Diese befindet sich im Ordner /typo3con/ext/sr_feuser_register/lib/. Zum einen wurde ein "." vergessen in Zeile 259. Richtig muss die Zeile so lauten:

$uidText = $this->pibase->pi_getClassName($colName).'-'.$row['uid'];

Des Weiteren wird eine Funktion in Zeile 248 aufgerufen, die nicht existiert. Diese Zeile kann übergangsweise einfach auskommentiert werden:

// $label = $this->getLLFromString($colConfig['default']);


To-Do list

- Bilder nach upload erst von Administrator zu überprüfen, bevor diese in der Profilansicht erscheinen bzw. angeschaut werden können.


Changelog

Bestätigung der Anmeldung durch einen Admin

F: Wie schaffe ich es, dass ein Admin eine Anmeldung bestätigen muss, bevor ein neuer User die vollen Zugriffsrechte bekommt?
A: Im Constant Editor:

  Enable administrative review	[plugin.tx_srfeuserregister_pi1.enableAdminReview]
  If set, the site administrator will be asked to accept the registration before it becomes enabled.

Benutzergruppen nachträglich anfordern

F: Ist es möglich, dass die User unter "Meine Daten" (also im Plugin "Bearbeiten") nachträglich eine Benutzergruppe anfordern können, die dann durch den Admin freigeschaltet wird? Diese Auswahl soll noch nicht gleich bei der Anmeldung gemacht werden können.