Creating Custom Signup Templates
The Jamroom Signup System allows users to create custom signup templates so that different Jamroom quotas can have different signup pages (for Artists, Members, Labels, DJs, etc.). This feature requires the Jamroom Bonus Pack be installed and configured.
Configuration
In order to create custom signup templates, you must have registered your Jamroom and uploaded the Jamroom Bonus Pack. You must also have enabled signups for Artists and/or Members in the Jamroom Config > Signup Settings page, as well as enabled signups for each quota that you want users to be able to signup to (Jamroom Config > Jamroom Quotas > Modify > General > Allow Signups > Yes).
Step 1 - Create a New Template
The first thing you will need to do is create a new template. You can create a new template from scratch, or you can copy and modify the default jr_signup.tpl template used in all Jamroom.net provided skins. Decide whether you want to create a different signup template for each of your quotas, a different template for each quota "group" (i.e. Artists, Members, Labels, DJs, etc.), or one "dynamic" template that will change based on the quota being signed up to. It is up to you how many different signup templates you would like to have.
Step 2 - Add Form Fields to the Template
Once you have created your template and added basic things such as a header and footer to it, you can begin adding in the signup form and form fields. You can have as many or as little signup form fields as you like. The only form fields that are required by Jamroom are:
Field |
Input Name |
Input Type |
Quota ID |
quota_id |
Text (Numeric) |
User Nickname |
user_nickname |
Text (Alphanumeric) |
User Agreement |
user_agreement |
Yes/No |
User E-mail Address |
user_emailadr
user_emailadr2 |
Text (Alphanumeric) |
User Password |
user_password1
user_password2 |
Text (Alphanumeric) |
Band/Member Name |
band_name |
Text (Alphanumeric) |
Captcha Code (If using CAPTCHA
|
captcha_code |
Text (Alphanumeric) |
User Birthday |
birth_year
birth_month
birth_day |
Text (Numeric) |
Along with those fields, you can add ANY field from the band and user tables in the Jamroom database to your form, including Custom Form Fields. To add a new field, you will need to use the column name from the jamroom_band_info or jamroom_user tables for the "name" of the input element (i.e. band_url for the Band's desired Friendly URL or user_fullname for the User's full name). For example, to add the user's full name, you would use:
Name: <input type="text" name="user_fullname"> |
When doing this, however, make sure that the input element "type" corresponds to the database field (i.e. something like user_language should not be a "text" input, as you only want users to be able to use language files you have chosen, so use a <select> element instead).
Step 3 - Displaying Your Custom Signup Template
To display your custom signup template with your quota, you will need to pass in the template name to the signup URL, i.e.:
<a href="{$JAMROOM_URL}/signup.php?mode=signup&template=dj_signup.tpl">Sign Up for a DJ Account</a> |
Simply append "&template=your_template_name.tpl" to the signup URL to display your custom signup template on that page! Congratulations, you've just created your first Custom Signup Template!
Step 4 (Advanced) - Using URL Query String Variables in Custom Signup Templates
Like using custom templates with the index.php script (i.e. index.php?t=browse_artist), you can pass variables into your template via the URL query string (everything after the "?" in a URL, separated by an "&"). This can be particularly useful if you have one signup template for each different quota "group" (i.e. if you have 3 different Artist accounts). Instead of having 3 different templates, you could just have 1 template that has a dynamic "quota_id" variable, i.e.:
<a href="{$JAMROOM_URL}/signup.php?mode=signup&template=artist_signup.tpl"a_id=3">Sign Up for an Artist Account</a> |
You would then be able to use the Smarty variable {$quota_id} in your template, i.e.:
<input type="hidden" name="quota_id" value="{$quota_id}"> |
That way, you do not have to "hard code" all of your form elements in, making your custom templates easier to make and more dynamic.
Additional Information
Because the custom signup templates are Smarty templates, you can use Smarty logic throughout your custom signup templates to make them even more dynamic and streamlined.
|