Add custom fields for product variations

The Ecommerce module enables you to create variations of products based on product attributes. If you want to characterize a product variation with additional information, you can add a custom field for the product variations. For example, you are creating variations for t-shirts. In addition to size or color, you may want to add the location of the product variation if, say, different variations are stored at different warehouses.

To do this, you need to create a MetaType (if one does not exist already) and then a MetaField that is to store the product variations additional data. As a result, MetaField information is stored in a new column in the database. Next, you extend the backend definition of product variations by updating the insert and edit views. Thus, when you create a new variation in the backend, you see the new custom field and can modify it to enter a value.

In the current example, you create a custom field BinLocation of type String that enables you to enter the location of product variations.

  1. Create MetaType and MetaField.
    You create a new MetaType, only if one does not exist. The code checks whether a MetaType exists for the ProductVariations type and, in case none is found, it creates a new MetaType.

    You create a MetaField of type string and name it BinLocation.

  2. Update the product variations definitions.
    You first modify the backend insert view for product variations, so that when you create variations, you can set the BinLocation custom field.
  3. Modify the backend edit view for product variations.
    You do this, so that when you edit variations, you can edit the BinLocation custom field.

Use the following code sample:

Want to learn more?

Sign up for our free beginner training. Boost your credentials through advanced courses and certification.
Register for Sitefinity training and certification.

Was this article helpful?