Customer Profiles allow you to set up the required or optional information fields for customers in the Storefront. The information is stored using the same attribute mechanism that is used for products. Elastic Path has a predefined set of system customer profile attributes that cannot be changed. You can add, update, delete new customer profile attributes for your application through Commerce Manager. All customer profile attributes are not locale dependent.
System customer profile attributes
- First Name - Customer first name, required field, short text type.
- Last Name - Customer last name, required field, short text type.
- Email - Customer email address, required field, short text type.
- Prefered Locale - Customer prefered locale, optional field, short text type.
- Prefered Currency - Customer prefered currency, optional field, short text type.
- Anonymous - Indicate whether the customer is anonymous, required, boolean type.
- All customer created in the Commerce Manager are not anonymous customers.
- Phone - Customer phone number, optional field, short text type.
- Fax - Customer phone number, optional field, short text type.
- Gender - Customer gender, optional field, short text type.
- Company - Customer company, optional field, short text type.
- Date of Birth - Customer date of birth, optional field, date type.
- Html email - Indicate whether to received html format email, required field, boolean type.
- Be notified of news - Indicate whether to received newsletter by email, required field, boolean type.
Key classes and files
- Customer - Represents a customer. A customer has a customer profile. For easy access, some system attributes can be set and retrieved through the customer object directly.
- CustomerProfile - A customer profile contains a collection of customer profile attribute values. It provides the interface to retrieve or update all profile values.
- AttributeValue - Represents the value for a given attribute for a given customer.
- Attribute - Defines the customer profile attribute type, usage, key, name etc.
- AttributeService - A service that provides all attribute maintenance functions.
- CustomerService - The register and edit account pages will interact with customer service to add and update customer information.
- register.vm - The default Velocity template used to register new customers.
- edit.vm - The default Velocity template used to edit customers.
- CheckoutCreateAccountFormController - The Spring MVC controller responsible for registering new customers.
- EditAccountFormControllerImpl - The Spring MVC controller responsible for editing customers.
How it works
- The user requests the register or edit customer page and inputs the customer attribute values.
- The CheckoutCreateAccountFormController or EditAccountFormControllerImpl validates the input value and calls the CustomerService to add and update the customer.