Skip to content

Magento_ConfigurableProduct

Complex Product Type with Attribute-Based Variations. Parent-child product linking, super attributes, and dynamic pricing.

452 Components 12 API Interfaces Magento 2.4.x

Quick Stats

452
PHP Components
12
API Interfaces
116
Models
18
Plugins
3
Database Tables
9
REST Endpoints

Module Overview

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.

Super Attributes

EAV attributes designated as configuration axes. Customers select values to choose specific product variants.

Parent-Child Linking

Configurable products link to simple product children via the super_link table, enabling variant selection.

Dynamic Pricing

Complex price resolution that evaluates all child products to determine display price ranges and final prices.

Variation Generator

Automatic creation of all possible simple product variants from selected attribute combinations.

Swatch Integration

Works with Magento_Swatches to display visual color/image selectors instead of dropdowns.

Cart/Checkout Handling

Special quote item processing that stores selected options and resolves to child products for fulfillment.

Key Components

Product Type Model

// 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

Service Contracts

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

REST API Endpoints

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

Database Schema

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

Documentation Sections

FOUNDATION

Architecture

Super attribute system, pricing, type model architecture and database relationships.

View Architecture
FLOWS

Execution Flows

Add to cart, price calculation, variation generation step-by-step traces.

View Execution Flows
EXTENSIBILITY

Plugins & Observers

18 plugins across catalog, sales, and checkout with sortOrder and impact.

View Plugins & Observers
INTEGRATIONS

Integrations

Catalog, EAV, Swatches, Inventory, Pricing module interactions.

View Integrations
CRITICAL

Known Issues

Price indexing, stock sync, swatch bugs with proven workarounds.

View Known Issues

Module Dependencies

Magento_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