How To Effortlessly Expand Customer Registration Forms in Prestashop

Posted On: May 8, 2023
Categories: Conversion Optimization
You may lose a high percentage of potential customers because your e-commerce store fails at personalization. You can blame the default registration form of a Prestashop store for that which has a few fields to collect the basic information not enough to enhance the customer’s experience or boost sales.
So how can you do it then? Of course, by expanding the registration form to invite more entries from the potential customers. You can then use that information to advertise specific offers to different groups of customers and personalize the overall shopping experience which is a working strategy for boosting conversions.
In this blog post, we will discuss two ways to expand your Prestashop store's registration form. One is using the coding method for which you will need a developer and the other one is using the FME Prestashop Registration Form Module that doesn’t require coding knowledge.
Coding or Installing Prestashop Registration Module?
If you want to avoid coding for the expansion of the default form, installing the FME Custom Registration Module is the best way to go. Even if you are into coding but would like to spend no time resolving the registration form expansion issue, using the module is the way to go for boosting engagement and Prestashop sales.
You can also get our Custom Registration Fields Module from the official Prestashop store.
Expanding Prestashop registration fields with code
Step 1: Start modifying the ps_customer table by adding columns with the name of new_field and
new_field_mandatory. Edit classes/form/CustomerFormatter.php
Step 2: Navigate to phpMyAdmin and run this SQL command:
ALTER TABLE ps_customer ADD COLUMN new_field VARCHAR(250);
ALTER TABLE ps_customer ADD COLUMN new_field_mandatory VARCHAR(250);
Step 3: Move to CustomerFormatter class to edit as it leads to display the fields on the PrestaShop registration form.
Search: $format['email']
Add before:
$format['new_field'] = (new FormField)
->setName('new_field')
->setLabel(
$this->translator->trans(
'New field', [], 'Shop.Forms.Labels'
)
)
;
$format['new_field_mandatory'] = (new FormField)
->setName('new_field_mandatory')
->setLabel(
$this->translator->trans(
'New Field Mandatory', [], 'Shop.Forms.Labels'
)
)
->setRequired(true)
;
Here, you get the ease of changing the placement of new fields where suitable.
Step 4: Modify classes/Customer.php
Create new columns to expand the customer model. Configure validation and mark the field mandatory as well.
Search for:
public $groupBox;
Add after:
public $new_field;
public $new_field_mandatory;
Search:
'table' => 'customer',
'primary' => 'id_customer',
'fields' => array(
Add after:
'new_field' => array('type' => self::TYPE_STRING),
'new_field_mandatory' => array('type' => self::TYPE_STRING, 'required' => true),
Step 5: Save the Changes to review them on the PrestaShop customer registration form. Find if the newly created fields appear with the names New Field and New Field Mandatory.
These changes will also reflect in the information section of the customer accounts already created in the store. They can provide information now.
Step 6: Log in to the back office of your PrestaShop store. Click Customer Settings.
Edit Admin Customers Controller with the new fields.
Search:
array(
'type' => 'text',
'prefix' => '',
'label' => $this->trans('Email address', array(), 'Admin.Global'),
'name' => 'email',
'col' => '4',
'required' => true,
'autocomplete' => false
),
Add after:
array(
'type' => 'text',
'label' => $this->trans('New field', array(), 'Admin.Global'),
'name' => 'new_field',
'col' => '4',
),
array(
'type' => 'text',
'label' => $this->trans('New field mandatory', array(), 'Admin.Global'),
'name' => 'new_field_mandatory',
'required' => true,
'col' => '4',
),
Go to the PrestaShop customer registration form and the fields may appear.
Step 7: Edit the Customers Page using
adminXXX/themes/default/template/controllers/customers/helpers/view/view.pl
Search:
{l s='Age'}
{if isset($customer->birthday) && $customer->birthday != '0000-00-00'} {l s='%1$d years old (birth date:
%2$s)' sprintf=[$customer_stats['age'], $customer_birthday]} {else} {l s='Unknown'} {/if}
Add after:
{l s='New field'}
{if isset($customer->New_field)} {$customer->New_field} {else} {l s='Unknown'} {/if}
{l s='New field mandatory'}
{if isset($customer->New_field_mandatory)} {$customer->new_field_mandatory} {else} {l s='Unknown'}
{/if}
Save and the fields will display.
Step 8: Expand Fields to the Customer table in the back office.
To make the newly created fields appear in the customer table, you need to edit Admin Customers Controlled with the fields. Modify controllers/admin/AdminCustomersController.php
Search:
'email' => array(
'title' => $this->trans('Email address', array(), 'Admin.Global')
),
Add after:
'new_field' => array(
'title' => $this->trans('New field', array(), 'Admin.Global')
),
'new_field_mandatory' => array(
'title' => $this->trans('New field mandatory', array(), 'Admin.Global')
),
Search:
) as connect
Add after:
,new_field, new_field_mandatory
Save the file and review the new columns.
Step 9: Move changes to override. Copy files. Replace in Destination files. Purge Cache.
This way, you will be able to expand the registration form in PrestaShop 1.7. It is cost-effective but complex and vulnerable to bugs too. Installing a plugin or module seems to be a more hassle-free technique. Learn it in the following tutorial.
Expanding with a Customer Registration Module
The PrestaShop registration form is a purpose-built module that allows you to expand the sign-up form with additional fields and options with a few clicks. It helps you acquire relevant and accurate information about potential customers the moment they register for an account. you can add as many fields as you want to know their interests.
The module supports several field types to help you create easy-to-answer options. These include dropdown, multi-select, radio button, Yes/No option, date, text area, and message only. Using dependable fields, you can hide additional options as they appear when a condition in its preceding field is fulfilled.
Besides these core features, there are plenty of other useful options to expand the registration form without writing a single line of code. Follow the steps to install the app and start customizing customer registrations in PrestaShop.
Step 1: Download and install the module, and you will get a new section in the dashboard named Registration Fields.
Step 2: Click Manage Registration Fields to create new options and manage them from a central dashboard.
Step 3: Click the + sign labeled as ‘Add New Field.’
Step 4: Write a field name
Step 5: Specify field size (applicable to text and text area fields only)
Step 6: Add a field to a block of options
Step 7: Select field type.
The PrestaShop customer registration module helps you select an option type that relates to the question or query. Ask for a detailed answer in the text area or a short one in the text field. Try these field types:
- Text field
- Text area
- Date
- Yes/No
- Multi-selec
- Dropdown
- Checkboxes
- Radio button
- Image
- Attachment
- Message (Display Only)
Step 8: Implement field validation to ensure accuracy in data collection through registration forms. You can validate fields by:
- Decimals
- Integers
- Email address
- Web URL address
- Letters only
- Letters and/or numbers
- Date
Step 9: Mark the field mandatory and customers won't be able to register without answering the option. It is useful in collecting important information about customers.
Step 10: Create dependent fields.
Make one field dependent on another. For example, you can make a kid's field dependent on the marital status field. If the customer selects married, the kid's field will appear, otherwise, it won't.
Click Save and you have successfully created a field. Repeat this simple process to add more fields.
Note: If you want to customize your product page by adding custom fields only to your product's page, you can use the Prestashop custom product fields module. This module works specifically on your Product's detail page.
Take Away
The PrestaShop registration form needs improvement and additional features relevant to a business. Comparing the above methods for expanding the registration form, we can say that using a module is the easiest one. It offers the addition of different field types besides other useful features.
Frequently Asked Questions (FAQs)
-
What are the Benefits of Using the Custom Registration Fields Module in Prestashop?
Prestashop Registration Form Module allows you to acquire additional information from your customers. This way you can identify their behavior and needs to offer them better and tailored solutions.
-
Will the Prestashop Registration Form Module Help Me Make More Sales?
Yes, when you tailor the e-commerce store to specific customer’s preferences and provide them relevant offers you will definitely see a rise in the conversions.
-
What are the Important Custom field Types?
These are some of the important custom fields you can add:
- Checkboxes
- Date picker
- Birthdate
- Favorite category
- Date time picker
- Labels
- Number field