GX-Task #68771
offenReplacing attributes and properties with options
0%
Beschreibung
We will replace the old attribute and property system with a new one. We used these two systems to allow shop owners to add traits to their products so that a customer can customize a product by selecting specific values for these traits. Therefore, the shop owner used the attribute system to assign static traits to the products, like "wrapping the product in gift paper" that wouldn't impact some kind of product stock but rather an attribute or attribute value stock. On the other hand, the property system has to be used to generate product combinations based on the assigned properties and their values (e.g. the size and the colour of a t-shirt). When a customer selected a specific combination of property values and purchased it, this wouldn't impact some kind of properties stock but rather a general product stock.
If you worked with the shop, you might understand this and agree that this is a very complicated mechanic. To make this way easier, we want to replace these two systems with a new one that combines both. This means the shop owner will now only manage options and their values in general (and no longer attributes and properties separately). Furthermore, the shop owner can assign options and their values to a product so that it results in a product option or a product variant.
A product option is similar to the former (product) attribute. This means it also represents selecting "wrapping the product in gift paper" and so on.
A product variant is similar to the former (product) property combination. This means it also represents a specific combination of option values (like the size and colour of a t-shirt).
We didn't remove the old attribute and property system to prevent larger breaking changes but build the new options system on top of it. This means that we will migrate all existing attributes to the properties and the other way around. This will also lead to phenomena like duplicated options with the same name (and maybe even the same values), one from the former attribute system and one from the former property system. This way, all modules and system based on the attributes and properties will still be working, but with one very important condition: All attributes/properties are mirrored (in the respective other system)! So if any third-party module does changes directly into the DB structure/tables for these old systems this will definitely lead to errors and break the shop.
If you need to operate with the new options system, please look into our developers' documentation and use the new services and REST API endpoints.
Nichts anzuzeigen