When you have membership features enabled, you can set up any number of members, each with a user profile and access rights to selected "member-only" pages.
In small organizations, or those with tightly controlled membership, the site admin can set up all member accounts. On sites where you simply want people to have to register for access to certain content, however, you can allow self-signup by providing the appropriate sign-up form on the site.
If you are charging for memberships, you can process payments separately and then manually enable access for each paid member's account. On a custom basis we can provde automatic member payment verification through Foxycart.
To create a sign-up form, click on the People tab of the site's control panel (on the tab itself, not any of the drop-down items). Click the Edit Signup Form Settings link in the advanced Membership Customization area.
If you have created a form for any other custom item type, this process will be familiar; it is almost identical.
On the Edit Form screen, you specify:
The person who submitted the form is always sent a notification message, since this message provides the activation link they must use to set their password.
When you save the form definition, the form and success pages will be generated as necessary and the form will be dropped into place. (If the pages already exist, you must copy and paste the form into the desired page; the automated process will paste the code into new pages, but it will not modify existing pages.)
The generated form contains three fields for the site visitor to fill out, “email”, “first_name”, and “last_name”. You may optionally replace the first_name and last_name fields with “name” by changing the associated markup (including the input element’s name attribute). Webvanta will attempt to parse a singular name into first_name and last_name parts automatically. The email field is the only required field to create an account.
Note: If you have created a User Profile with additional fields, that information must be added after the user logs in for the first time and sets their password. The site should then have an "Edit Profile" link that the user can follow to enter additional profile details.
The signup form contains a number of hidden fields that are required for the operation of the system. These form elements, their attributes, and the names/attributes of the other input elements must not be disturbed.
It is ok to apply additional CSS classes to the elements, and you can change the surrounding HTML markup at will.
The following hidden fields are required:
|email2||spam honey pot. Form will not be accepted if this field has any content|
|api_id||a code unique to this account. Required. If it is missing or changed, the form will not work|
|form_id||identical to the form element’s css ID, is must match, and must match the “CSS ID” item in the form definition in the CP|
|ajax||either “json” or “html”. Controls how the app responds to the submit. html by default acts like normal form submission. Errors in form that require validation markup will re-render the page and do a page change as expected. You should make sure this page is not cached. Setting to json will have the back end return json objects with the success or error messages for the form.|
Once a form is submitted, on success, the system will render the “success page” set in the form definition. On the success page, the user object is available and set as the current “item”. You can then use WebvantaScript in the success page such as:
<w:kb:item> <h1>Howdy <w:name /></h1> <p>You join the esteemed company of your peers:</p> </w:kb:item>
The new member will receive an activation email with a link to set their password and create their account. Until they do so, they will not be able to log in.
Once they set their password, they can edit their profile to fill in additional details.
Note: New User accounts are always created with “member” roles only. There is no way to change this from the form as a security precaution. If you want to grant additional roles to users, that must be done by an admin.