I would like to allow the customer to customize a product, for example to add custom text to be printed on the T-Shirt. I would like to do this as the customer is selecting the product, not as a checkout step.
Is there a best practice to accomplish this within the Pimcore Ecommerce Framework? Are any of the below ideas a good start?
- Duplicate the “generic” product as a new object (set the variant so it doesn’t display in the product listing, etc.)
- Set the custom customer input into the new object
- Add the new object to the cart
- Create a class for the customization data, ie., input: customText, relation: genericProduct, etc.
- Store user data in the customization object
- Link the customization object to the order, maybe add as a subItem (assuming the customization class extends AbstractProduct)
- Store the user input in a Sessions variable
- During the Checkout process, create an object brick with the user input
- Add the object brick to the OnlineShopOrderItem Customized attribute