Architecture
Super attribute system, pricing, type model architecture and database relationships.
View ArchitectureComplex Product Type with Attribute-Based Variations. Parent-child product linking, super attributes, and dynamic pricing.
Magento_ConfigurableProduct provides the infrastructure for creating products with selectable attribute variations. Unlike simple products, configurable products act as parent containers that group related simple products (children) together based on super attributes like color, size, or material.
EAV attributes designated as configuration axes. Customers select values to choose specific product variants.
Configurable products link to simple product children via the super_link table, enabling variant selection.
Complex price resolution that evaluates all child products to determine display price ranges and final prices.
Automatic creation of all possible simple product variants from selected attribute combinations.
Works with Magento_Swatches to display visual color/image selectors instead of dropdowns.
Special quote item processing that stores selected options and resolves to child products for fulfillment.
// Core configurable product type Magento\ConfigurableProduct\Model\Product\Type\Configurable // Type code constant const TYPE_CODE = 'configurable'; // Key methods: - getConfigurableAttributes() // Get super attributes - getUsedProducts() // Get linked simple products - getProductByAttributes() // Find child by attribute values - isSalable() // Check if any child is salable
| Interface | Purpose |
|---|---|
LinkManagementInterface |
Manage parent-child product relationships |
OptionRepositoryInterface |
CRUD operations for configurable options (super attributes) |
ConfigurableProductManagementInterface |
Generate product variations from attribute combinations |
Data\OptionInterface |
Data model for configurable option (super attribute) |
Data\OptionValueInterface |
Data model for option value (attribute option) |
Data\ConfigurableItemOptionValueInterface |
Quote item option value for cart |
| Method | Endpoint | Description |
|---|---|---|
| GET | /V1/configurable-products/:sku/children |
Get all child simple products |
| POST | /V1/configurable-products/:sku/child |
Add child product to configurable |
| DELETE | /V1/configurable-products/:sku/children/:childSku |
Remove child from configurable |
| PUT | /V1/configurable-products/variation |
Generate all variations from attributes |
| GET | /V1/configurable-products/:sku/options/all |
Get all configurable options |
| GET | /V1/configurable-products/:sku/options/:id |
Get specific option by ID |
| POST | /V1/configurable-products/:sku/options |
Create new configurable option |
| PUT | /V1/configurable-products/:sku/options/:id |
Update existing option |
| DELETE | /V1/configurable-products/:sku/options/:id |
Delete configurable option |
| Table | Purpose | Key Columns |
|---|---|---|
catalog_product_super_attribute |
Links EAV attributes to configurable products as super attributes | product_super_attribute_id, product_id, attribute_id, position |
catalog_product_super_attribute_label |
Store-specific labels for super attributes | value_id, product_super_attribute_id, store_id, value |
catalog_product_super_link |
Links simple products (children) to configurable parents | link_id, product_id (child), parent_id |
Super attribute system, pricing, type model architecture and database relationships.
View ArchitectureAdd to cart, price calculation, variation generation step-by-step traces.
View Execution Flows18 plugins across catalog, sales, and checkout with sortOrder and impact.
View Plugins & ObserversCatalog, EAV, Swatches, Inventory, Pricing module interactions.
View IntegrationsPrice indexing, stock sync, swatch bugs with proven workarounds.
View Known IssuesMagento_ConfigurableProduct has the following dependencies defined in module.xml:
<!-- Required modules (load before ConfigurableProduct) --> - Magento_Catalog // Product entity, EAV attributes - Magento_Msrp // Manufacturer's suggested retail price - Magento_CatalogInventory // Stock management - Magento_Sales // Order processing - Magento_Quote // Cart/quote handling - Magento_Checkout // Checkout process