Adding Fields to Registration Form
Extend the fe_users table
The simplest way to extend the fe_users table is to create a small extension that will define the required fields
in the database and the TCA. Your small extension will not contain any plugin or other processing.
Extension Kickstarter is a wizard that will help you create this small extension.
If not yet installed, install the extension using the Extension Manager. Once installed, you access the
Kickstarter Wizard through the Extension Manager back end module. Just remember that you will not need to create
any plugin or TypoScript. Once your extension is created, install it. This will make the fields you have
defined available to the TYPO3 backend. In this tutorial the name of the extension is
mynewext.
Add the fields in the HTML template
You need to update the HTML template in order to include the fields you have defined in the proper subparts.
The subparts of interest are:
###TEMPLATE_
###TEMPLATE_
###TEMPLATE_
###TEMPLATE_
###TEMPLATE_
###TEMPLATE_
and perhaps some of the email subparts.
Have a look at how the predefined fields are included in each of the subparts, and do the same for the
fields you are adding. The HTML for a field named myNewFieldName in the
CREATE,
INVITE and
EDIT subparts
would look like:
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
<dt>
<label for="agency-myNewFieldName">###LABEL_MYNEWFIELDNAME###</label>
<span class="agency-required">###REQUIRED_MYNEWFIELDNAME###</span>
</dt>
<dd>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<p class="agency-error">###EVAL_ERROR_FIELD_myNewFieldName###</p>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
<p class="agency-error">###MISSING_MYNEWFIELDNAME###</p>
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
<input id="agency-myNewFieldName" type="text" size="40" maxlength="50" title="###TOOLTIP_MYNEWFIELDNAME###" name="###NAME_MYNEWFIELDNAME###" class="agency-text" />
</dd>
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
In the case of a field of type textarea, check, radio and select, the HTML for the field should rather look like the following:
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
<dt>
<label for="agency-myNewFieldName">###LABEL_MYNEWFIELDNAME###</label>
<span class="agency-required">###REQUIRED_MYNEWFIELDNAME###</span>
</dt>
<dd>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<p class="agency-error">###EVAL_ERROR_FIELD_myNewFieldName###</p>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
<p class="agency-error">###MISSING_MYNEWFIELDNAME###</p>
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
###TCA_INPUT_myNewFieldName###
</dd>
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
In each PREVIEW subpart, you need to add lines like:
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
<dt>###LABEL_MYNEWFIELDNAME###</dt>
<dd>###FIELD_MYNEWFIELDNAME###</dd>
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
or
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
<dt>###LABEL_MYNEWFIELDNAME###</dt>
<dd>###TCA_INPUT_myNewFieldName###</dd>
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->