DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
Frontend User Registration¶
Author: | Christopher |
---|---|
Created: | 2010-12-18T19:57:23 |
Changed by: | Christian Bülter |
Changed: | 2013-09-05T17:14:51 |
Classification: | ke_userregister |
Keywords: | ke_userregister, registration, salted, md5 |
Author: | Andreas Kiefer |
Email: | kiefer@kennziffer.com |
Language: | en |
Frontend User Registration¶
Extension Key: ke_userregister
Language: en
Version: 0.1.5
Keywords: ke_userregister, registration, salted, md5
Copyright 2006-2013, Andreas Kiefer (kennziffer.com), <kiefer@kennziffer.com>
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
- a GNU/GPL CMS/Framework available from www.typo3.org
Table of Contents¶
`Frontend User Registration 1 <#__RefHeading__5708_1738894311>`_
`Introduction 3 <#__RefHeading__813_1069746998>`_
`Screenshots 4 <#__RefHeading__961_1069746998>`_
`Installation / Quickstart 6 <#__RefHeading__1069_1069746998>`_
`Configuration 7 <#__RefHeading__1167_1069746998>`_
Example TYPOScript for select_db_relation: 7
Backlink to last visited page after succesful confirmation 8
`Other Extensions 10 <#__RefHeading__1181_1069746998>`_
`Miscellaneous 11 <#__RefHeading__1309_1069746998>`_
Introduction¶
What does it do?¶
This extension allows visitors to registrate as a frontend user (fe_user). It was designed as a lightweight alternative to sr_feuser_registration.
There is a registration form, an edit form, a form for changing the password and a view for deleting an account.
Registrations are checked by double-opt-in. If a user changes his email address this is checked by a double-opt-in, too.
Features¶
- Easy configuration
- very flexible
- double opt-in (link is sent via email)
- extendable via hooks
- includes newsletter registration (direct_mail)
- small and with minimal overhead
- tooltips
- supports plain, md5 and salted passwords
Screenshots¶
Registration form¶
Edit form ^^^^^^^^^
Edit confirmation message ^^^^^^^^^^^^^^^^^^^^^^^^^
Edit password form ^^^^^^^^^^^^^^^^^^
Delete profile ^^^^^^^^^^^^^^
Installation / Quickstart -------------------------
If not already there, create a sysfolder called “FE Users”.
Use the extension manager to install the extension “ke_userregister” from TER.
Go to your main template and include the static template (section “Include static (from extensions)”).
Create a new page called “registration”, insert a “General Plugin” and select the plugin “Register form”, set the mode to “create”.
Create an “extension template” and add some typoscript to the “setup” section:
Set default user group for new users and the sysfolder where to store the user data (the numbers 123 and 456 are of course only examples). Set the sender of the double-opt-in mails.
plugin.tx_keuserregister {
userDataPID = 123
defaultUsergroup = 456
notification.from_email = info@example.com
notification.from_name = TYPO3 User Registration
}
Configuration¶
Input field types¶
The following input field types are available:
- text
- textarea
- password
- checkbox
- radio
- select
- directmail (fetches values from direct_mail categories)
- image
- country (fetches values from static_info_tables)
- select_db_relation (fetches values from other table, saves the selected uid)
Example TYPOScript for select_db_relation:¶
myDatabaseField {
# type
type = select_db_relation
# optional: set values via typoscript (additional to the values from the db result)
values = 0,1,2
# page where to fetch the records from
pid = 3
# tablename
table = tt_address
# db field to display in the dropdown box (also sorting field)
displayField = name
}
You may use these values in the typoscript definition of the create and edit form. See ke_userregisterstatictssetup.txt for an example.
In order to add new options for example to checkbox or select fields, you will have to define some locallang values, for example:
plugin.tx_keuserregister_pi1._LOCAL_LANG.de {
label_tx_myextension_myfield = This is the label.
label_tx_myextension_myfield_1 = This is option 1.
label_tx_myextension_myfield_2 = This is option 2.
}
If you don't want to save a value into the dabase but for example want to process it in your own hook, you may use doNotSaveInDB. For example:
plugin.tx_keuserregiste.create.fields.myFieldName.type = text
plugin.tx_keuserregiste.create.fields.myFieldName.doNotSaveInDB = 1
Password encryption¶
You may set the password encryption to “plain”, “md5” (for example for the usage together with kb_md5fepw), or “salted”.
“salted” is the default and recommended value (it's the most secure one). It requires TYPO3 4.3 or higher. Make sure that you have the extension saltedpasswords installed and that you have salted passwords for the frontend enabled.
Configuration:
plugin.tx_keuserregister.password.encryption = salted
Possible values: plain, md5, salted
Validation¶
Each input field may be validated. The following evaluations are implemented. You may combine them in a comma-separated list.
- required
- numeric
- integer
- date-de (DD.MM.YYYY)
- date-us (MM.DD.YYYY)
- Further evaluations may be added via hooks.
Backlink to last visited page after succesful confirmation¶
This feature must be activated in TYPOScript with the config option “backlink.generate = 1”. If activated, the PID that was passed as piVar “tx_keuserregister_pi1[backlinkPid]” to the “create” form will be saved in hash table. After a succesful confirmation the link will be generated. You can use every param for this link, e.g. if you want to link directly to a singleview. All parameters that should be used in the backlink has to be defined in TYPOScript config option “backlink.parameters”. Use comma-separated values if you need multiple params. The params must be passed to the create form, too.
tx_keuserregister_pi1.backlink {
generate = 1
parameters = tx_keyac_pi1[showUid],tx_ttnews[ttnews]
}
This example will generate a backlink like
http://domain.de/index.php?id=66&tx_keyac_pi1[showUid]=11&tx_ttnews[ttnews]=22
if you pass the PID and the params to the create form like this:
http://domain.de/index.php?id=5&tx_keuserregister_pi1[backlinkPid]=66&tx_keyac_pi1[showUid]=11&tx_ttnews[ttnews]=22
Email to administrator¶
since version 0.1.5:
You can set ke_userregister to send an email to the administrator each time a user registers or changes his data.
This is the typoscript code:
plugin.tx_keuserregister {
# send email to admin after sucessful double-opt-in?
# (set to "1" to activate this feature)
adminMailAfterConfirmation = 0
# send email to admin after changed userdata
adminMailAfterEdit = 0
# admin email addresses (comma-separated)
adminMailAddress = admin@my-doma.in
# list of fe_user fields that will be sent to the admin
adminMailFields (
username, gender, first_name, last_name, email
)
}
Confirmation by administrator¶
since version 0.1.5:
If you want every new user registration to be checked by an administrator, you can set this up setting the “adminConfigurationEnabled” value to “1”.
The administrator will receive an email (administrator notification has to be enabled, see above) with links for confirmation and denial. The user will receive an email when the administrator cklicks on one of the links.
This is the typoscript code:
plugin.tx_keuserregister {
adminMailAfterConfirmation = 1
adminMail {
10 {
address = admin@my-doma.in
}
}
adminConfirmationEnabled = 1
}
Further TYPOScript settings¶
Have a look at the file ke_userregisterstatictssetup.txt for other typoscript options.
Other Extensions¶
You may improve the functionality of this extension by adding some extensions to your system:
direct_mail¶
You may install direct_mail in order to allow users to register for newsletters. Please not that you will have to install tt_address first.
If you do not have the extension “direct_mail” installed, you will have to clear the corresponding field:
plugin.tx_keuserregister.create.fields.module_sys_dmail_category >
Remember to clean up the html template as well.
static_info_tables¶
Install the extenstion “static_info_tables” if you want to have a country dropdown. Use this typoscript setup:
plugin.tx_keuserregister.create.fields.country.type = country
Remember to clean up the html template if you do not want to use the “country”-field.
fe_tooltip¶
If you want to use tooltips after some or each input field, please install the extension fe_tooltip. You may then define the tooltips in typoscript setup.
Miscellaneous¶
Customizing and Styling¶
Use the template files in the res/-folder of the extension.
You should copy the css and html template from the res/ folder of the extension to somewhere in the fileadmin/-folder and then point the typoscript values for “templateFile” and “cssFile” to those files. If you do so, new versions of ke_userregister won't overwrite your customized templates.
Hooks¶
There are hooks for custom validation of input fields, data processing and custom markers. Have a look at ke_userregisterpi1class.tx_keuserregister_pi1.php and search for “Hook”.
Changelog¶
See file “ChangeLog” in EXT dir.
Bugs found? Feature request?¶
Please use the bugtracker on forge.typo3.org:
http://forge.typo3.org/projects/show/extension-ke_userregister