Edit Profile Tag
Overview
exp:member:edit_profile
This template tag allows editing a member’s profile using the form that is similar to Channel Form. Please note however that not all Channel Form parameters and template tags are available in the Member Profile form, so make sure to consult the documentation below. The form can only be used to update profile of the member that is currently logged in.
Tip: This form utilizes template form validation and error handling. Refer to the documentation for additional parameters and variables that are available to this tag.
Parameters
Valid HTML Form attributes (as listed in the config file), data-
and aria-
attributes passed through ExpressionEngine tag parameters in the template will be included into generated opening form tag.
datepicker=
datepicker="no"
Adds the datepicker to your date fields. Defaults to “yes”.
Note: If you are manually constructing a date field, in order to apply the date picker you must include rel="date-picker"
.
form_class=
form_class="login"
This parameter allows you to specify the class attribute for the <form> tag.
form_id=
form_id="login"
This parameter allows you to specify the id attribute for the <form> tag.
form_name=
form_name="login"
This parameter allows you to specify a name attribute for the <form> tag.
include_assets=
include_assets="yes"
Adds the Javascript and CSS that is required by custom member fields to your form. By default, these are not included
include_css=
include_css="no"
Allows you to manage the inclusion of required CSS independently from the include_assets
parameter. Defaults to “yes”.
include_jquery=
include_jquery="no"
Includes jQuery automatically. Defaults to “yes”.
Note: If you are using your own copy of jQuery you will need to load it before the form.
inline_errors=
inline_errors="yes"
This parameter is for use with form validation and error handling and determines the type of error reporting: inline or error template.
return=
return="member/registration/success"
return_error=
return_error="template_group/error"
This parameter is for use with form validation and error handling and determines the template to return to if validation errors are detected.
Form Inputs
Be sure to include the required Javascript and CSS to use the native Password Validation.
Member email address.
<label for="email">Email</label>
<input type="email" name="email" value="{email}" maxlength="120" size="40" />
Password
Member password. This is a required field.
<label>Your New Password</label><br />
<input type="password" name="password" value="" maxlength="50" size="40" />
Password Confirmation
Password confirmation. If a new password is submitted, the password confirmation field is required and must match the entered password.
<label>Confirm New Password</label><br />
<input type="password" name="password_confirm" value="" maxlength="50" size="40" />
Current Password
If the password or the email address is submitted, the current password field is required.
<label>Confirm New Password</label><br />
<input type="password" name="current_password" value="" maxlength="50" size="40" />
Screen name
Member Screen name. This is a required field:
<label for="screen_name">Screen Name</label>
<input type="text" name="screen_name" value="{screen_name}" maxlength="120" size="40" />
Username
Member username. This is a required field and must be unique across the site:
<label for="username">Username</label>
<input type="text" name="username" value="{username}" maxlength="120" size="40" />
Custom field
The custom profile fields can be displayed individually by addressing them using the field’s short name prefixed with field:
:
{field:birthday}
Custom Profile Field Variable Pair
All custom fields are output inside the {custom_profile_fields}
variable tag pair.
{custom_profile_fields}
<p>
<label>{lang:profile_field}</label><br>
<small>{lang:profile_field_description}</small><br>
{form:custom_profile_field}
</p>
{/custom_profile_fields}
Custom Profile Field Variables
These variables are available inside {custom_profile_fields}
tag pair.
{lang:profile_field}
{field_label}
Outputs the custom field’s label.
{field_id}
Field ID
{field_name}
The field’s short name
{lang:profile_field_description}
{field_instructions}
Outputs the field’s description, if any.
{form:custom_profile_field}
{display_field}
Shows the fully parsed custom member form field.
{field_data}
Saved field data for the member
{if field_required}
Checks whether the field is set as required
{text_direction}
Text direction set for field (rtl
or ltr
)
{maxlength}
Maximum length set for text fields
{field_type}
Short name of the fieldtype used for field
Example
{exp:member:edit_profile
return="member/registration/success"
include_assets="yes"
inline_errors="yes"
datepicker="yes"
}
<p>* Required fields</p>
<fieldset>
<h4>Profile</h4>
<p>
<label for="username">Username*:</label><br />
<input type="text" name="username" id="username" value="{username}"/><br />
{if error:username}
<span class="error">{error:username}</span>
{/if}
</p>
<p>
<label for="email">Email:</label><br />
<input type="text" name="email" id="email" value="{email}"/><br />
{if error:email}
<span class="error">{error:email}</span>
{/if}
</p>
<p>
<label for="password">Password:</label><br />
<input type="password" name="password" id="password" value=""/>
{if error:password}
<span class="error">{error:password}</span>
{/if}
</p>
<p>
<label for="password_confirm">Confirm password*:</label><br />
<input type="password" name="password_confirm" id="password_confirm" value=""/>
{if error:password_confirm}
<span class="error">{error:password_confirm}</span>
{/if}
</p>
<p>
<label for="current_password">Current password*:</label><br />
<em>You <b>must</b> enter your current password to change your password, username or email.</em>
<input type="password" name="current_password" id="current_password" value=""/>
{if error:current_password}
<span class="error">{error:current_password}</span>
{/if}
</p>
{custom_profile_fields}
<p>
<label>{lang:profile_field}</label><br>
<small>{lang:profile_field_description}</small><br>
{form:custom_profile_field}
{if has_error}
<span class="error">{error}</span>
{/if}
</p>
{/custom_profile_fields}
</fieldset>
<input type="submit" value="Register" class="btn btn-primary" />
{/exp:member:edit_profile}