Attribute Sets
To understand attribute sets, it's necessary to understand the "problem" that they solve.
Imagine two very different types of products: A chair and a book. They have some product attributes in common, but many attributes are (or should be) unique to their individual product type.
| Attribute | Chair | Book |
|---|---|---|
| Price | $49.99 | $19.99 |
| QTY in Package | 1 Chair | 1 Book |
| Leg Height * | 12" | — |
| Seat Color * | Blue | — |
| Number of Pages * | — | 64 |
| Answer Key Included * | — | Yes |
| * Only applicable to chairs | ||
| * Only applicable to books | ||
We don't want to show "seat color" for books, and we don't want to show "number of pages" for chairs. Attribute sets let us declare attributes only for the product types where they're relevant.*
* The website has code that hides properties that do not have an assigned value, so in many cases we can hide "N/A" attributes without needing to create an attribute set.
Examples:
- A chair will not show the "number of pages" attribute unless someone puts a value in that field (which would be wrong)
- A book will only show the "answer key included" if it has a true value assigned
So Why Create Any Attribute Sets?
Attribute sets are useful when a product requires specialized attributes that might conflict with general ones.
Creating an attribute set is usually more about swapping attributes than just adding or removing ones.
Examples:
- Leg Color and Seat Color for a chair provide more detail than the single "color" attribute
- Carpet Dimensions replaces the general L×W×H attributes
While not required for creating configured products, they frequently occur in tandem.
TIP: Click on the Code to copy it.
| Code | Name | Magento ID |
|---|---|---|
| Default | Default | 4 |
| Carpet | Carpet | 14 |
| Lettering | Decorative Lettering | 15 |