Answers.Body: <p>Before you can allow any type of user groups you will need at a minimum of the Client version of Craft. To allow public registration, you will need the Professional version. Only the Professional version will allow you to have public registration on our site. <a href="https://craftcms.com/docs/users" rel="noreferrer">Here is more information about users and user groups.</a></p>
  
  <p>To add additional fields to your registration form, I would <a href="https://craftcms.com/docs/templating/user-registration-form" rel="noreferrer">start here.</a> That will get you started with a basic form.</p>
  
  <p>You will need to create a new field within the CP. For example - let's say I want to capture your pets name.</p>
  
  <p>I will create a text input, called <code>petName</code>. Then in the layout builder, I will assign that field to the user profile tab.</p>
  
  <p>Next, I need to update my registration form with my new input. </p>
  
  <p><strong>Note</strong>: any new field you want to add to the user's profile <em>must</em> be prefixed with <code>fields[]</code>. For example:</p>
  
  <pre><code>&lt;label for="petName"&gt;Pet Name&lt;/label&gt;
  &lt;input type="text" id="petName" name="fields[petName]" {%- if account is defined %} value="{{ account.petName }}"{% endif %}" placeholder=""&gt;
  {{ account is defined and account ? errorList(account.getErrors('petName')) }}
  </code></pre>
  
  <p>Hope this helps!</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-12-22T20:56:27.543Z
Answers.LastActivityDate: 2015-12-22T20:56:27.543Z
Answers.UserDisplayName: Damon
Body: <p>User Registration Form</p>
  
  <p>I want to setup a public registration form in Craft CMS.  Currently this form support only fields username, email, password, but I want to add at least 10 other fields.</p>
  
  <p>Also I want to create three types of user groups. How do I update the group in the public registration form?</p>
  
  <p><a href="https://craftcms.com/docs/templating/user-registration-form" rel="nofollow">User registration in Craft</a></p>
  
Tags: <users><user-profile><user-groups><usermodel>
Title: How to add addition attribute and fields in public registration form in Craft CMS
ThreadText: # How to add addition attribute and fields in public registration form in Craft CMS
  
  (Asked by: username_0 on 2015-12-22)
  
  User Registration Form
  
  I want to setup a public registration form in Craft CMS. Currently this form support only fields username, email, password, but I want to add at least 10 other fields.
  
  Also I want to create three types of user groups. How do I update the group in the public registration form?
  
  [User registration in Craft](https://craftcms.com/docs/templating/user-registration-form)
  
  **Tags:** users, user-profile, user-groups, usermodel
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2015-12-22. Score: 5
  
  Before you can allow any type of user groups you will need at a minimum of the Client version of Craft. To allow public registration, you will need the Professional version. Only the Professional version will allow you to have public registration on our site. [Here is more information about users and user groups.](https://craftcms.com/docs/users)
  
  To add additional fields to your registration form, I would [start here.](https://craftcms.com/docs/templating/user-registration-form) That will get you started with a basic form.
  
  You will need to create a new field within the CP. For example - let's say I want to capture your pets name.
  
  I will create a text input, called `petName`. Then in the layout builder, I will assign that field to the user profile tab.
  
  Next, I need to update my registration form with my new input.
  
  **Note**: any new field you want to add to the user's profile *must* be prefixed with `fields[]`. For example:
  
  ```
  <label for="petName">Pet Name</label>
  <input type="text" id="petName" name="fields[petName]" {%- if account is defined %} value="{{ account.petName }}"{% endif %}" placeholder="">
  {{ account is defined and account ? errorList(account.getErrors('petName')) }}
  
  ```
  
  Hope this helps!
  
  
  ---
  
  