Front End User Registration (fe users)

Aus Wikizone
Wechseln zu: Navigation, Suche

Veralteter Artikel. Siehe auch:

Typo3 - Benutzer Registrierung (sr feuser register)


Konfiguration

Front End User Registration extension - Kurzanleitung Stand 31.5.2006 TS-Einstellungen mit folgendem prefix:

plugin.tx_srfeserregister_pi1.

Extensions Installieren

  • die Extension
  • static_info_libary (sr_static_info) + static_info_tables
  • Keine Pflicht aber nützlich sind: New Login Box (newloginbox), KB MD5 FE Password (kb_md5fepw) und FE, BE Library (fh_library).

Statisches Template einfügen

  • 'FE User Registration CSS-styled' (1.4.9+ of extension Static Info Library (sr_static_info) oder 'FE User Registration Old Style'.

SysOrdner für die FrontendUser

  • Anlegen und darin zwei Frontend User Gruppen (nicht bestätigte und bestätigte Registrierungen)
  • Wie angegeben die Konstanten auf diese Usergruppen IDs setzen:
userGroupUponRegistration=[gruppe1]
userGroupAfterConfirmation==[gruppe2]
  • Konstanten anlegen:
pid = [Ordner-Seite]

Login (Anmeldeseite) erstellen

  • “General Storage Storage” (Allgemeine Datensatzsammlung) auf den Userordner setzen
  • New Login Box anlegen
  • dahinter die Front End User Registration extension CODE leer,Starting Point auf den UserOrdner
  • Konstanten wie unten setzen
loginPID=[AnmeldeseitenID]

Register Seite erstellen

  • unter der Anmeldeseite erstellen Access (Zugriff) auf “Hide at login” (Beim Login verstecken)
  • Front End User Registration mit CODE CREATE und Startpunkt auf den User Ordner
  • Konstante setzen:
registerPID=[Registier-SeiteID]

Edit-Seite erstellen (Profil bearbeiten)

  • Seite erstellen Zugriff nur für registrierte Nutzer Gruppe (siehe oben)
  • Front End User Registration extension mit CODE EDIT und Startpunkt auf den User Ordner
  • Konstante setzen:
editPID = [Edit-PageID]

Confirm-Seite (Anmeldebestätigung)

  • Seite erstellen Zugriff wie bei Registrierseite 'hide at login'(Beim Login verstecken)
  • Front End User Registration extension einfügen CODE-Feld leer, Starting Point auf User Ordner
  • Konstante setzen:
confirmPID = [ConfirmPID]

Registrierformular anpassen

  • Die Felder und Pflichtfelder werden im TS Template bei den Konstanten gesetzt (Angegebene Werte sind default Werte:
formFields=username,password, first_name,last_name,date_of_birth,email, address,city,zone, static_info_country,zip, telephone,language, title,company,www, module_sys_dmail_category, module_sys_dmail_html,disable
requiredFields=username,password,name,email

Weitere Einstellungen

Alle weiteren Einstellungen lassen sich jetzt mit dem Constant Editor erledigen

Von Hand lassen sich die Einstellungen nach dem folgenden Schema im Constants Feld vornehmen:

plugin.tx_srfeuserregister_pi1.property = value

Weitere Infos Hier: http://typo3.org/documentation/document-library/extension-manuals/sr_feuser_register/2.3.6/view/5/4/


Weitere wichtige Einstellungen:

  email = schlegel@geo-bit.de
  siteName = typo3.webmynet.de
  enableEmailConfirmation = 0
  enableEmailOnApprove = 0
  enableEmailOnRefuse = 0
  enableEmailOnUpdate = 0
  enableEmailOnDelete = 0

Template

Formular-Felder

s.o.

Marker (Auswahl)

Für das Formular:

      1. FORM_NAME###
      1. FORM_URL###
      1. LABEL_ENTER_ACCOUNT_INFO###
      1. LABEL_REQUIRED_INFO_NOTICE###
      1. LABEL_USERNAME### ###REQUIRED_USERNAME###
    1. EVAL_ERROR_FIELD_username###
      1. MISSING_USERNAME###


      1. LABEL_PASSWORD### ###REQUIRED_PASSWORD###
      1. EVAL_ERROR_FIELD_password###
      1. MISSING_PASSWORD###
      1. TOOLTIP_PASSWORD###
      1. LABEL_PASSWORD_REPEAT###
      1. LABEL_TOOLTIP_PASSWORD_AGAIN###


      1. LABEL_NAME### ###REQUIRED_NAME### ###EVAL_ERROR_FIELD_name### ###MISSING_NAME###
      1. LABEL_FIRST_NAME### ...
      1. LABEL_LAST_NAME### ...
      1. LABEL_STATUS### ###REQUIRED_STATUS### ###EVAL_ERROR_FIELD_status### ###MISSING_STATUS### ###TCA_INPUT_status###

Eigene Felder hinzufügen

http://www.herzogkienast.de/tutorials/benutzerregistrierung-erweitern.html 
http://blog.marit.ag/2010/02/03/sr_feuser_register-zusatzfeld/

Prinzip:

  • Extension erstellen die fe_user mit den benötigten Feldern erweitert
  • HTML Template kopieren / bearbeiten
  • TCA Array für Selectboxen etc. bearbeiten und localconf mit hook erweitern.


FE-User Tabelle erweitern und Template kopieren

Die FE-User Tabelle erweitern

Zunächst müssen die zusätzlichen Felder in der Front-End Benutzertabelle erzeugt werden. Hierzu kann einfach mit dem Kickstarter eine Extension erstellt werden, die der Tabelle fe_users weitere Felder hinzufügt.

Die Marker im Template von sr_feuser_register anlegen

So man das noch nicht getan hat, das Template der Front-End Registrierung kopieren und im Fileadmin ablegen. Dann in den TypoScript Konstanten das Template eintragen:

plugin.tx_srfeuserregister_pi1 {
file.templateFile = fileadmin/template/html/srfeuserregister.html
}

Beispiel einfaches Textfeld

Marker für einfache Textfelder anlegen:

<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
<dt>
<label for="tx-srfeuserregister-pi1-myNewFieldName">###LABEL_MYNEWFIELDNAME###</label>
<span>###REQUIRED_MYNEWFIELDNAME###</span>
</dt>
<dd>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<p>###EVAL_ERROR_FIELD_myNewFieldName###</p>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
<p>###MISSING_MYNEWFIELDNAME###</p>
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
<input id="tx-srfeuserregister-pi1-myNewFieldName" type="text" size="40" maxlength="50" title="###TOOLTIP_MYNEWFIELDNAME###" name="###NAME_MYNEWFIELDNAME###" />
</dd>
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->

Dabei myNewFieldName durch den gesammten Feldnamen ersetzen.

Label und Fehlertexte lokalisiert hinzufügen

Wie bereits bei der Eintragung ins Template zu erkennen war, können alle Label und Texte für den Fehlerfall lokalisiert eingegeben werden. Dazu einfach folgendes zum TypoScript Setup hinzufügen:

plugin.tx_srfeuserregister_pi1._LOCAL_LANG.de.myNewFieldName = Mein Feld eingeben:

Fehlernachricht bei unausgefüllten Pflichtfeldern:

plugin.tx_srfeuserregister_pi1._LOCAL_LANG.de.missing_myNewFieldName = Bitte geben Sie etwas ein!

Dasselbe aber für die Einladungsmaske:

plugin.tx_srfeuserregister_pi1._LOCAL_LANG.languageCode.missing_invitation_ myNewFieldName = Bitte auch hier was eingeben

Fehlermeldung, wenn das Feld falsch ausgefüllt wurde:

plugin.tx_srfeuserregister_pi1._LOCAL_LANG.languageCode.evalErrors_evalRuleName_myNewFieldName = Darf nur Buchstaben und Zahlen enthalten!


Beispiel für TCA Felder

TCA-Marker, wie im Codebeispiel unten, ersetzt werden und dieser Marker platziert werden '###TCA_INPUT_tx_srfeuserextrafieldindustry_industry###.

<!-- ###SUB_INCLUDED_FIELD_tx_srfeuserextrafieldindustry_
industry### --> 
 <dt> 
 <label for="tx-srfeuserregister-pi1-industry">
 ###LABEL_TX_SRFEUSEREXTRAFIELDINDUSTRY_INDUSTRY### 
 ###REQUIRED_TX_SRFEUSEREXTRAFIELDINDUSTRY_INDUSTRY###
 </label>
 </dt>
 <dd>
 <!-- ###SUB_ERROR_FIELD_tx_srfeuserextrafieldindustry
 _industry### -->
 <p>###EVAL_ERROR_FIELD_tx_srfeuserextrafieldindustry
 _industry###</p>
 <!-- ###SUB_ERROR_FIELD_tx_srfeuserextrafieldindustry
 _industry### -->
 <!-- ###SUB_REQUIRED_FIELD_tx_srfeuserextrafieldindustry
 _industry### -->                         
 <p>###MISSING_TX_SRFEUSEREXTRAFIELDINDUSTRY
 _INDUSTRY###</p>
 <!-- ###SUB_REQUIRED_FIELD_tx_srfeuserextrafieldindustry
 _industry### -->
 ###TCA_INPUT_tx_srfeuserextrafieldindustry_industry###
 </dd>              
<!-- ###SUB_INCLUDED_FIELD_tx_srfeuserextrafieldindustry
_industry### -->

ext_localconf.php in der neuen Extension mit Hook um das neue Feld zu registrieren (nur bei tca feldern)

<?php
if (TYPO3_MODE=='FE') {
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']
 ['sr_feuser_register']['extendingTCA'][] 
= 'sr_feuser_extrafield_industry';
} 
?>

TypoScript Template - Felder zuweisen

In Ihrem TS-Template müssen Sie nun noch das entsprechende Feld zuweisen.

Zunächst in den constants wie folgt:

plugin.tx_srfeuserregister_pi1.formFields = tx_srfeuserextrafieldindustry_industry,image, username

Und im Setup bei create.fields und edit.fields.

Sofern das Feld ein Pflichtfeld sein soll, muss es sowohl in den Constants bei plugin.tx_srfeuserregister_pi1.requiredFields, als auch im Setup bei create.required angegeben werden.

Sprachlabel

plugin.tx_srfeuserregister_pi1._LOCAL_LANG { 
 de {   
 fe_users.tx_srfeuserextrafieldindustry_industry = 
Branchenauswahl: 
 fe_users.tx_srfeuserextrafieldindustry_industry.I.0 = 
 --- 
 fe_users.tx_srfeuserextrafieldindustry_industry.I.1 = 
Produzent1 
 fe_users.tx_srfeuserextrafieldindustry_industry.I.2 = 
Produzent2 
 fe_users.tx_srfeuserextrafieldindustry_industry.I.3 = 
Produzent3 
 fe_users.tx_srfeuserextrafieldindustry_industry.I.4 = 
Produzent4 
 fe_users.tx_srfeuserextrafieldindustry_industry.I.5 = 
Produzent5 
 } 
}

Sprachlabel allgemen

plugin.tx_srfeuserregister_pi1._LOCAL_LANG.languageCode.labelName = overridingValue

oder für TCA Felder

plugin.tx_srfeuserregister_pi1._LOCAL_LANG.languageCode.tableName.fieldName = overridingValue