...
There are special system values that are associated with each customer account such as email and password. Prior to version 3.5.0 these are build into templates. However in versions
Label | ||
---|---|---|
|
This
...
gives
...
flexibility
...
to
...
have
...
multiple
...
configurations.
...
E.g.
...
create
...
one
...
attribute
...
with
...
[CODE=email,
...
VAL=email]
...
with
...
one
...
regex
...
and
...
then
...
[CODE=another_email,
...
VAL=email]
...
with
...
different
...
regex.
...
Thus
...
you
...
can
...
define
...
different
...
set
...
of
...
the
...
...
attributes
...
per
...
shop
...
or
...
even
...
per
...
customer
...
type.
...
Adding password and confirmPassword attributes with enable customers to specify password of their choosing during registration (see password managemen cookbook for more details).
...
Below are mandatory/special attributes for registration forms that are defined in the CUSTOMER attribute group
Attribute | Value | Mandatory | Since | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
salutation | 2.x.x | Salutation is an optional attribute that "proxies" salutation property on the Customer object | ||||||||||||||
firstname | 2.x.x | First name is mandatory attribute that "proxies" firstname property on the Customer object which is a mandatory field. Attempt to create Customer object without it results in SQL error. | ||||||||||||||
middlename | 2.x.x | Middle name (second name) is an optional attribute that "proxies" middlename property on the Customer object | ||||||||||||||
lastname | 2.x.x | Last name is mandatory attribute that "proxies" lastname property on the Customer object which is a mandatory field. Attempt to create Customer object without it results in SQL error. | ||||||||||||||
3.5.0 | Email property allows to define email regex. Since shops can have own specific view on what correct email regex is, the attribute is driven by value which must be email. Attempt to create Customer object without it results in SQL error. | |||||||||||||||
password | password | 3.5.0 | Marks a password field to be used in the form. The input is captured only inside the system to create a password hash. The attribute is not saved on Customer object | |||||||||||||
confirmPassword | confirmPassword | 3.5.0 | Marks a password field to be used in the form. The input is captured only inside the system to create a password hash. The attribute is not saved on Customer object | |||||||||||||
regAddressForm | regAddressForm | 3.5.0 | Marker attribute for registration for to include shipping address form for given customer type. Note that because fields such as salutation, firstname, middlename, lastname, companyname1, companyname2, companydepartment and phone1 (CUSTOMER_PHONE) exist on address form there is a fallback mechanism to prevent "double fields". For example CREG shop attribute with our address form:
| |||||||||||||
companyname1 | 3.5.0 | B2B company name "proxies" companyName1 property on the Customer object | ||||||||||||||
companyname2 | 3.5.0 | B2B additional company name (e.g. suffix) "proxies" companyName2 property on the Customer object | ||||||||||||||
companydepartment | 3.5.0 | B2B department within company "proxies" companyDepartment property on the Customer object |
B2E registration Y
Label | ||||
---|---|---|---|---|
|
CE
B2E is a feature of
Label | ||||
---|---|---|---|---|
|
...
Manager assisted registration
Label | ||||
---|---|---|---|---|
|
Label | ||
---|---|---|
|
3.7.0+
When manager logs in into storefront one of the options available is to register a new customer. This is usability improvement feature which allows manager to have a per customer type focused form with all fields required to register that customer including default address with one click.
...
Table below depicts value options are available for the address object.
Note that values marked mandatory must be present in the form as these are defined as mandatory on Address object.
Another property to point out is the formatter placeholder, which is how the value is specified in the SHOP_ADDRESS_FORMATTER_XXX and it is different to the value (especially note the letter case).
Value | Formatter placeholder | Mandatory | Since | Description |
---|---|---|---|---|
name | name | 3.5.0 | Address name e.g. "Home", "Work" | |
city | city | 2.x.x | City | |
postcode | postcode | 2.x.x | Post code / Zip code | |
addrline1 | addrline1 | 2.x.x | Usually street | |
addrline2 | addrline2 | 2.x.x | Usually house number or apartment details | |
countryCode | countrycode | 2.x.x | Special field which automatically lists countries available for this type of address in a select box | |
stateCode | statecode | 2.x.x | Special field used when states are defined for countries in locations section of admin | |
phone1 | phone1 | 2.x.x | Phone | |
phone2 | phone2 | 2.x.x | Another phone | |
mobile1 | mobile1 | 2.x.x | Mobile | |
mobile2 | mobile2 | 2.x.x | Another mobile | |
salutation | salutation | 2.x.x | Saluation | |
firstname | firstname | 2.x.x | First name | |
lastname | lastname | 2.x.x | Last name / Surname | |
middlename | middlename | 2.x.x | Middle name | |
email1 | email1 | 2.x.x | Email (this is not customer email but rather an email address to use with this address e.g. like company email if delivered to warehouse) | |
email2 | email2 | 2.x.x | Another Email | |
companyName1 | company1 | 3.5.0 | B2B company name | |
companyName2 | company2 | 3.5.0 | B2B additional company name e.g. suffix | |
companyDepartment | department | 3.5.0 | B2B department within company | |
custom0 | custom0 | 2.x.x | Custom field 0 | |
custom1 | custom1 | 2.x.x | Custom field 1 | |
custom2 | custom2 | 2.x.x | Custom field 2 | |
custom3 | custom3 | 2.x.x | Custom field 3 | |
custom4 | custom4 | 2.x.x | Custom field 4 | |
custom5 | custom5 | 2.x.x | Custom field 5 | |
custom6 | custom6 | 2.x.x | Custom field 6 | |
custom7 | custom7 | 2.x.x | Custom field 7 | |
custom8 | custom8 | 2.x.x | Custom field 8 | |
custom9 | custom9 | 2.x.x | Custom field 9 |
Each address object allows to capture some core fields that have specific names but also has 10 custom fields that can be used for anything. Therefore depending on the attribute definition these fields can have own labels, validation rules etc.
...
In order to create forms which are address type specific or shop specific or both we can use prefixes. Consider the following example where we have two shops with shop code SHOP10 and SHOP20, which are ordered in the sequence of rank (i.e. default lookup sequence)
Form definition attribute code | Eligible for |
---|---|
SHOP10__B2B_addressform_S | SHOP10 definition for B2B customer type definition for shipping addresses |
SHOP10__B2B_addressform_B | SHOP10 definition for B2B customer type definition for billing type addresses |
SHOP10__B2B_addressform | SHOP10 definition for B2B customer type definition for shipping and billing type addresses |
SHOP10__default_addressform_S | SHOP10 definition for shipping type addresses |
SHOP10__default_addressform_B | SHOP10 definition for shipping type addresses |
SHOP10__default_addressform | SHOP10 definition for shipping and billing type addresses |
B2B_addressform_S | Global definition for B2B customer type definition for shipping addresses available to SHOP10 and SHOP20 |
B2B_addressform_B | Global definition for B2B customer type definition for billing type addresses available to SHOP10 and SHOP20 |
B2B_addressform | Global definition for B2B customer type definition for shipping and billing type addresses available to SHOP10 and SHOP20 |
default_addressform_S | Global definition for shipping type addresses available to SHOP10 and SHOP20 |
default_addressform_B | Global definition for shipping type addresses available to SHOP10 and SHOP20 |
default_addressform | Global definition for shipping and billing type addresses available to SHOP10 and SHOP20 |
Declaring address formatting
...
The fallback system of the attribute is shown below:
Shop formatter attribute code | Eligible for |
---|---|
SHOP_ADDRESS_FORMATTER_S_GB_en_B2C | Definition of the format of the address for Shipping address type (S) for GB country in English (en) eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_B_GB_en_B2C | Definition of the format of the address for Billing address type (B) for GB country in English (en) eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_GB_en_B2C | Definition of the format of the address for GB country in English (en) eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_S_GB_B2C | Definition of the format of the address for Shipping address type (S) for GB country in all languages eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_B_GB_B2C | Definition of the format of the address for Billing address type (B) for GB country in all languages eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_GB_B2C | Definition of the format of the address for GB country in all languages eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_S_en_B2C | Definition of the format of the address for Shipping address type (S) for any country in English (en) eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_B_en_B2C | Definition of the format of the address for Billing address type (B) for any country in English (en) eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_en_B2C | Definition of the format of the address for any country in English (en) eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_S_B2C | Definition of the format of the address for Shipping address type (S) for any country in any language eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_B_B2C | Definition of the format of the address for Billing address type (B) for any country in any language eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_B2C | Definition of the format of the address for any country in any language eligible for B2C customer type |
SHOP_ADDRESS_FORMATTER_S_GB_en | Definition of the format of the address for Shipping address type (S) for GB country in English (en) eligible for any customer type |
SHOP_ADDRESS_FORMATTER_B_GB_en | Definition of the format of the address for Billing address type (B) for GB country in English (en) eligible for any customer type |
SHOP_ADDRESS_FORMATTER_GB_en | Definition of the format of the address for GB country in English (en) eligible for any customer type |
SHOP_ADDRESS_FORMATTER_S_GB | Definition of the format of the address for Shipping address type (S) for GB country in all languages eligible for any customer type |
SHOP_ADDRESS_FORMATTER_B_GB | Definition of the format of the address for Billing address type (B) for GB country in all languages eligible for any customer type |
SHOP_ADDRESS_FORMATTER_GB | Definition of the format of the address for GB country in all languages eligible for any customer type |
SHOP_ADDRESS_FORMATTER_S_en | Definition of the format of the address for Shipping address type (S) for any country in English (en) eligible for any customer type |
SHOP_ADDRESS_FORMATTER_B_en | Definition of the format of the address for Billing address type (B) for any country in English (en) eligible for any customer type |
SHOP_ADDRESS_FORMATTER_en | Definition of the format of the address for any country in English (en) eligible for any customer type |
SHOP_ADDRESS_FORMATTER_S | Definition of the format of the address for Shipping address type (S) for any country in any language eligible for any customer type |
SHOP_ADDRESS_FORMATTER_B | Definition of the format of the address for Billing address type (B) for any country in any language eligible for any customer type |
SHOP_ADDRESS_FORMATTER | Definition of the format of the address for any country in any language eligible for any customer type |
Default SHOP_ADDRESS_FORMATTER value if not specified anywhere is:
...