Working with Customers
As described in the Installation chapter, customers are data objects that implement certain interfaces or extend certain abstract classes.
Beyond that, working with customers is like working with any other Pimcore data object, with three aspects to keep in mind:
-
Name the class
Customer. If you use a different name, configure it, see the Configuration chapter. -
CustomerProviderInterface: an implementation ofCustomerProviderInterfaceis registered as the serviceCustomerManagementFrameworkBundle\CustomerProvider\CustomerProviderInterface. It provides an abstraction for CRUD operations on customer data objects and already accounts for the configured customer class name. -
CustomerSaveManager: responsible for all actions and hooks executed when a customer object is saved, and configurable. Its main components are:- Customer Save Handlers
- Automatic Object Naming Scheme
- Customer Save Validator
- Save Customer with Disabled Hooks
See the Customer Save Manager chapter for details.
Other than that, use the customer object like any other data object in Pimcore.
CMF also provides two additional data entities linked to customers:
- Customer Activities: store any kind of customer activity, such as newsletter registrations or placed orders.
- Customer Segments: segment customers and group them by interests or behavior.