Front End User Registration (fe users): Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Veralteter Artikel. Siehe auch:
+
'''Veralteter Artikel. Siehe auch:'''
  
 
[[Typo3 - Benutzer Registrierung (sr feuser register)]]
 
[[Typo3 - Benutzer Registrierung (sr feuser register)]]
Zeile 126: Zeile 126:
  
 
###LABEL_STATUS### ###REQUIRED_STATUS### ###EVAL_ERROR_FIELD_status### ###MISSING_STATUS### ###TCA_INPUT_status###
 
###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:
 
<pre>
 
plugin.tx_srfeuserregister_pi1 {
 
file.templateFile = fileadmin/template/html/srfeuserregister.html
 
}
 
</pre>
 
 
=== Beispiel einfaches Textfeld ===
 
Marker für einfache Textfelder anlegen:
 
<pre>
 
<!-- ###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### -->
 
</pre>
 
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!
 
 
 
 
=== TCA Felder hinzufügen (Select, Radio, Checkbox) ===
 
Hier sind weitere Schritte notwendig. Nämlich:
 
====Die TCA-Konfiguration zur Verfügung stellen ====
 
 
In früheren Versionen der Extension sr_feuser_register wurde pauschal die gesamte TCA des Projektes eingelesen und ausgewertet. Dies stellte sich jedoch als zu ressourcenfressend heraus. Daher müssen Extensions, deren Felder in sr_feuser_register genutzt werden sollen, nun über einen Hook registriert werden. Dazu folgenden Code der '''ext_localconf.php der Extension''', die die neuen Felder enthält, hinzufügen:
 
 
<pre>
 
if (TYPO3_MODE==’FE’){
 
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_feuser_register']['extendingTCA'][] = ‘my_new_ext’;
 
}
 
</pre>
 
Kann oder möchte man die andere Extension nicht verändern oder bleibt bei älteren Konstellationen der Hook wirkungslos, so kann man auch mit einem direkten Hack der Extension sr_feuser_register die TCA zur Verfügung stellen. Achtung, diese Änderung geht bei einem späteren Update verloren und muss daher gut dokumentiert werden!
 
 
In der Datei'' typo3conf/ext/sr_feuser_register/lib/class.tx_srfeuserregister_tca.php'' in der Funktion “''init''” hinter dem Code, der direkt Mail behandelt folgendes einfügen:
 
</pre>
 
if (t3lib_extMgm::isLoaded('my_new_ext'))    {
 
tx_div2007_alpha::loadTcaAdditions_fh001(array('my_new_ext'));
 
}
 
</pre>
 
Nun wird das TCA in jedem Fall geladen. Andernfalls kann der ärgerliche Fall eintreten, das bei der Front-End Nutzerregistrierung die Marker der Felder nur dann ersetzt werden, während man als Nutzer im Backend angemeldet ist, da nur in dem Fall das ganze TCA geladen wird.
 
 
==== Weiteres Beispiel ====
 
TCA-Marker, wie im Codebeispiel unten, ersetzt werden und dieser Marker platziert werden '###TCA_INPUT_tx_srfeuserextrafieldindustry_industry###.
 
<pre>
 
<!-- ###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### -->
 
</pre>
 
 
ext_localconf.php in der neuen Extension mit Hook um das neue Feld zu registrieren (nur bei tca feldern)
 
<pre>
 
<?php
 
if (TYPO3_MODE=='FE') {
 
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']
 
['sr_feuser_register']['extendingTCA'][]
 
= 'sr_feuser_extrafield_industry';
 
}
 
?>
 
</pre>
 
 
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 ===
 
<pre>
 
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
 
}
 
}
 
</pre>
 
  
 
==Sprachlabel allgemen==
 
==Sprachlabel allgemen==

Aktuelle Version vom 18. November 2013, 17:57 Uhr

Veralteter Artikel. Siehe auch:

Typo3 - Benutzer Registrierung (sr feuser register)


Konfiguration[Bearbeiten]

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[Bearbeiten]

Formular-Felder[Bearbeiten]

s.o.

Marker (Auswahl)[Bearbeiten]

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###

Sprachlabel allgemen[Bearbeiten]

plugin.tx_srfeuserregister_pi1._LOCAL_LANG.languageCode.labelName = overridingValue

oder für TCA Felder

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