Catalog Module
AbstractCollection
This abstract collection class serves as the base for all Magento 2 catalog entity collections (products, categories, etc.) that use EAV attributes. I...
AbstractModel
This abstract base class provides common functionality for Magento 2 catalog entities like products and categories. Developers extend this class when...
Api\AttributeSetFinderInterface
This interface defines a contract for finding attribute set IDs associated with specific products. Developers would use this when they need to determi...
Api\AttributeSetManagementInterface
This interface defines the service contract for managing product attribute sets in Magento 2. Developers use it to programmatically create new attribu...
Api\AttributeSetRepositoryInterface
This interface defines the contract for managing catalog attribute sets in Magento 2. Developers use this repository to create, retrieve, update, and...
Api\BasePriceStorageInterface
This interface defines a contract for managing product base prices in Magento 2. Developers use it to retrieve base prices for multiple products by SK...
Api\CategoryAttributeOptionManagementInterface
This interface defines a contract for managing category attribute options in Magento 2. Developers use this to retrieve all available options for a sp...
Api\CategoryAttributeRepositoryInterface
This interface defines a repository for managing category attributes in Magento 2. Developers use it to retrieve category attribute metadata, either b...
Api\CategoryLinkManagementInterface
This interface defines methods for managing the relationship between products and categories in Magento 2. Developers use it to retrieve all products...
Api\CategoryLinkRepositoryInterface
This repository interface manages the assignment and removal of products to/from categories in Magento 2. Developers use this to programmatically link...
Api\CategoryListDeleteBySkuInterface
This interface defines a contract for removing multiple products from a category using their SKUs. Developers would use this when they need to unassig...
Api\CategoryListInterface
This interface defines a contract for retrieving a filtered list of catalog categories in Magento 2. Developers use this to programmatically fetch cat...
Api\CategoryManagementInterface
This interface defines the contract for managing Magento 2 product categories at a high level. Developers use it to retrieve category trees with confi...
Api\CategoryRepositoryInterface
This interface defines the contract for managing category data in Magento 2's catalog system. Developers use this repository to perform CRUD operation...
Api\CostStorageInterface
This interface defines operations for managing product cost data in Magento 2. Developers use it to retrieve, update, or delete product costs by SKU a...
Api\Data\BasePriceInterface
This interface defines the contract for handling product base prices in Magento 2. Developers use this when working with product pricing operations, p...
Api\Data\CategoryAttributeInterface
This interface defines the contract for category attribute objects in Magento 2's catalog system. Developers use this when working with custom categor...
Api\Data\CategoryAttributeSearchResultsInterface
This interface defines the contract for search results when querying category attributes in Magento 2. Developers use this when implementing or consum...
Api\Data\CategoryInterface
This interface defines the data structure and contract for category entities in Magento 2's catalog system. Developers use it when working with catego...
Api\Data\CategoryLinkInterface
This interface defines the contract for linking products to categories in Magento 2. Developers use it when working with product-category associations...
Api\Data\CategoryProductLinkInterface
This interface defines the contract for representing the relationship between a category and a product in Magento 2's catalog. Developers use this whe...
Api\Data\CategoryProductSearchResultInterface
This interface defines the contract for search results containing category-product relationships. Developers use this when retrieving lists of product...
Api\Data\CategorySearchResultsInterface
This interface defines the contract for category search results returned by repository search operations. Developers use this when working with the Ca...
Api\Data\CategoryTreeInterface
This interface defines the data structure for representing categories in a hierarchical tree format within Magento 2. Developers use it when working w...
Api\Data\CostInterface
This interface defines the contract for managing product cost data in Magento 2. Developers use it when working with product cost information across d...
Api\Data\CustomOptionInterface
This interface defines the contract for custom product options that customers can select when adding items to their cart. Developers use this when wor...
Api\Data\EavAttributeInterface
This interface defines the contract for catalog product attributes in Magento 2, extending the base EAV attribute interface with catalog-specific prop...
Api\Data\PriceUpdateResultInterface
This interface defines a contract for price update result objects that are returned when errors occur during bulk price update operations via Magento'...
Api\Data\ProductAttributeInterface
This interface defines the contract for product attributes in Magento 2's catalog system. It extends EavAttributeInterface and provides constants for...
Api\Data\ProductAttributeMediaGalleryEntryInterface
This interface defines the contract for product media gallery entries (images, videos) in Magento 2. Developers use it when working with product media...
Api\Data\ProductAttributeSearchResultsInterface
This interface defines the contract for search results containing product attributes in Magento 2. Developers use it when implementing or working with...
Api\Data\ProductAttributeTypeInterface
This interface defines the contract for product attribute type data objects in Magento 2. Developers use this when working with product attribute type...
Api\Data\ProductCustomOptionInterface
This interface defines the structure for product custom options in Magento 2, allowing developers to create customizable product configurations like t...
Api\Data\ProductCustomOptionTypeInterface
This interface defines the contract for product custom option types in Magento 2's Catalog module. Developers use it to represent different types of c...
Api\Data\ProductCustomOptionValuesInterface
This interface defines the contract for individual values within a product's custom option (e.g., dropdown choices, radio button options). Developers...
Api\Data\ProductFrontendActionInterface
This interface defines the data contract for tracking customer and visitor interactions with products on the storefront, such as product views, compar...
Api\Data\ProductInterface
This interface defines the standard contract for product data objects in Magento 2's Catalog module. Developers use this interface when working with p...
Api\Data\ProductLinkAttributeInterface
This interface defines the structure for product link attributes in Magento 2, which describe the properties of relationships between linked products...
Api\Data\ProductLinkInterface
This interface defines the contract for product link data objects in Magento 2, which represent relationships between products such as related product...
Api\Data\ProductLinkTypeInterface
This interface defines the contract for product link types in Magento 2, representing the different ways products can be related (e.g., related produc...
Api\Data\ProductOptionInterface
This interface defines the contract for product options in Magento 2, which represent additional choices or configurations that can be associated with...
Api\Data\ProductRenderInterface
This interface defines a Data Transfer Object (DTO) for product rendering information needed on the frontend. Developers use this to retrieve all esse...
Api\Data\ProductRenderSearchResultsInterface
This interface defines a data transfer object (DTO) for holding collections of rendered product information. Developers use this when working with pro...
Api\Data\ProductRender\ButtonInterface
This interface defines the contract for product action buttons in Magento 2's product rendering system, such as 'Add to Cart', 'Add to Compare', or 'A...
Api\Data\ProductRender\FormattedPriceInfoInterface
This interface defines the contract for handling formatted HTML price representations in Magento 2 product rendering. Developers use it when building...
Api\Data\ProductRender\ImageInterface
This interface defines the contract for product image data in Magento 2's product rendering system. Developers use it to access and manipulate product...
Api\Data\ProductRender\PriceInfoInterface
This interface defines the contract for product price information used in rendering product data via API. Developers use it to access various price ty...
Api\Data\ProductSearchResultsInterface
This interface defines the contract for product search results in Magento 2's service layer. Developers use it when implementing or consuming product...
Api\Data\ProductTierPriceInterface
This interface defines the structure for product tier pricing data in Magento 2. Developers use it when working with tiered pricing rules that apply d...
Api\Data\ProductTypeInterface
This interface defines the contract for product type data objects in Magento 2, representing different product types like simple, configurable, bundle...
Api\Data\ProductWebsiteLinkInterface
This interface defines the contract for linking products to websites in a multi-website Magento setup. Developers use this when managing product-websi...
Api\Data\SpecialPriceInterface
This interface defines the contract for managing product special prices in Magento 2. It provides methods to set and retrieve special price values, al...
Api\Data\TierPriceInterface
This interface defines the contract for tier pricing data objects in Magento 2. Developers use this when working with quantity-based pricing rules tha...
Api\ProductAttributeGroupRepositoryInterface
This repository interface manages product attribute groups in Magento 2's catalog module. Developers use it to create, retrieve, update, and delete at...
Api\ProductAttributeIsFilterableManagementInterface
This interface defines methods to manage the 'is_filterable' property of product attributes through REST/SOAP APIs. Developers use this when they need...
Api\ProductAttributeManagementInterface
This interface defines the contract for managing product attributes within attribute sets in Magento 2. Developers use this to programmatically assign...
Api\ProductAttributeMediaGalleryManagementInterface
This interface defines the contract for managing product media gallery images through the API. Developers use this to programmatically add, update, re...
Api\ProductAttributeOptionManagementInterface
This interface defines the contract for managing product attribute options in Magento 2. Developers use this to programmatically retrieve, add, or del...
Api\ProductAttributeOptionUpdateInterface
This interface defines a contract for updating existing product attribute options in Magento 2. Developers would use implementations of this interface...
Api\ProductAttributeRepositoryInterface
This interface defines the contract for managing product attributes in Magento 2. Developers use it to retrieve, create, update, and delete product at...
Api\ProductAttributeTypesListInterface
This interface defines a contract for retrieving a list of available product attribute types in Magento 2. Developers would use this when they need to...
Api\ProductCustomOptionRepositoryInterface
This repository interface manages custom product options in Magento 2's catalog system. Developers use it to retrieve, create, update, delete, and dup...
Api\ProductCustomOptionTypeListInterface
This interface defines a contract for retrieving all available custom option types that can be used with products in Magento. Developers would use thi...
Api\ProductLinkManagementInterface
This interface defines methods for managing product link relationships in Magento 2. Developers use it to retrieve and assign product links (such as r...
Api\ProductLinkRepositoryInterface
This interface defines methods for managing product links (relationships between products) such as related products, up-sells, and cross-sells. Develo...
Api\ProductLinkTypeListInterface
This interface defines a contract for retrieving product link types and their attributes in Magento 2. Developers use this to get information about av...
Api\ProductManagementInterface
This interface defines a contract for managing product-level operations in Magento 2, specifically for retrieving product counts. Developers use this...
Api\ProductMediaAttributeManagementInterface
This interface defines a contract for retrieving media image attributes associated with a specific product attribute set. Developers use this when the...
Api\ProductRenderListInterface
This interface defines a contract for retrieving comprehensive product render information including prices, names, stock status, and store details. De...
Api\ProductRepositoryInterface
This interface defines the contract for managing product data in Magento 2's catalog system. Developers use this repository to perform CRUD operations...
Api\ProductTierPriceManagementInterface
This interface defines the contract for managing tier pricing on products in Magento 2. Developers use this to programmatically add, remove, or retrie...
Api\ProductTypeListInterface
This interface defines a contract for retrieving all available product types in Magento 2 (such as simple, configurable, bundle, downloadable, etc.)....
Api\ProductWebsiteLinkRepositoryInterface
This repository interface manages the relationship between products and websites in a multi-website Magento setup. Developers use it to assign product...
Api\ScopedProductTierPriceManagementInterface
This interface defines operations for managing tier pricing on products within specific store scopes. Developers use this when they need to add, remov...
Api\SpecialPriceInterface
This interface defines the API contract for managing special prices on products in Magento 2. Developers use this to programmatically retrieve, update...
Api\SpecialPriceStorageInterface
This interface defines a specialized API for managing special prices (promotional/temporary prices) for products in Magento 2. Developers use this to...
Api\TierPriceStorageInterface
This interface defines operations for managing tier pricing (volume discounts) for products in Magento 2. Developers use it to programmatically retrie...
Attribute\Backend\AbstractLayoutUpdate
This abstract backend model manages custom layout file selection for catalog entities (products/categories). Developers extend this class to validate...
Attribute\Backend\Consumer
This class is a message queue consumer that processes asynchronous bulk operations for updating product attributes in Magento 2. Developers would use...
Attribute\Backend\ConsumerWebsiteAssign
This class is a message queue consumer that handles asynchronous bulk operations for assigning or removing products from websites. When products need...
Attribute\Backend\Customlayoutupdate
This backend model validates and manages the custom layout update attribute for catalog entities (products and categories). It enforces a security rul...
Attribute\Backend\DefaultBackend
This class serves as the default backend model for catalog attributes in Magento 2, extending the base EAV backend functionality. Developers use it to...
Attribute\Backend\Startdate
This backend model handles the 'special price from date' attribute for catalog products. It validates that the start date doesn't exceed the end date...
Attribute\Config
This class provides a high-level interface to retrieve catalog attribute names organized by groups. Developers use it to get lists of attributes that...
Attribute\Config\Converter
This converter class transforms XML configuration for catalog attributes into a PHP array format. Developers use this when working with catalog_attrib...
Attribute\Config\Data
This class manages the configuration data for catalog attributes in Magento 2. It extends the framework's Config Data class to provide cached access t...
Attribute\Config\Reader
This class reads and merges catalog attribute configuration from multiple catalog_attributes.xml files across Magento modules. Developers use this to...
Attribute\Config\SchemaLocator
This class provides the location of the XSD schema file used to validate catalog attribute configuration XML files. Developers use this when working w...
Attribute\LockValidatorComposite
This composite validator class manages multiple attribute lock validators and executes them in sequence to check if a catalog attribute can be modifie...
Attribute\ScopeOverriddenValue
This class determines whether an attribute value has been overridden at a specific store view level versus using the default value. Developers use thi...
Attribute\Source\AbstractLayoutUpdate
This abstract class provides layout update options for catalog entities (products, categories) in Magento 2. Developers extend this class to create cu...
Attribute\Source\Scopes
This class provides a list of attribute scope options used in Magento 2's catalog system. Developers use this when configuring product attributes to d...
Catalog
This helper class manages custom attribute tab block names for product and category edit forms in the Magento admin panel. Developers use it to custom...
Category
The Category model represents a product category in Magento 2's catalog system. Developers use this class to retrieve, create, update, and manage cate...
Category
This helper class provides utility methods for working with Magento 2 categories. Developers use it to retrieve store categories, generate category UR...
CategoryAttributeSearchResults
This class serves as a data container for returning search results when querying category attributes through Magento's API. Developers use this class...
CategoryLink
This class represents the relationship between a product and a category in Magento 2, storing the category ID and the product's position within that c...
CategoryLinkManagement
This class manages the relationship between products and categories in Magento 2. Developers use it to retrieve which products are assigned to a speci...
CategoryLinkRepository
This class manages the relationship between products and categories in Magento 2. Developers use it to programmatically assign products to categories...
CategoryList
This class retrieves a list of categories based on search criteria and filtering requirements. Developers use it when they need to fetch multiple cate...
CategoryManagement
This class manages category tree operations in Magento 2, providing functionality to retrieve category hierarchies, move categories to different paren...
CategoryProductLink
This class represents the relationship between a product and a category in Magento 2, storing the product's SKU, its position within the category, and...
CategoryRepository
This repository class provides a centralized interface for managing Magento 2 categories through CRUD operations (create, read, update, delete). Devel...
CategoryRepository\PopulateWithValues
This class populates a category entity with its attribute values and handles store-specific vs default values. It's used internally by the CategoryRep...
CategorySearchResults
This class serves as a Data Transfer Object (DTO) that holds the results of category search operations in Magento 2. Developers use this when working...
Category\Attribute
This class represents a category attribute in Magento 2's catalog system, providing getters and setters for attribute properties like visibility, sear...
Category\AttributeRepository
This class manages category attribute operations in Magento 2's catalog system. Developers use it to retrieve category attributes by code, get filtere...
Category\Attribute\LayoutUpdateManager
This class manages custom layout updates for category pages in Magento 2. Developers use it to fetch available layout update files for a specific cate...
Category\Attribute\OptionManagement
This class manages attribute options for category attributes in Magento 2. Developers use it to retrieve available options for dropdown and multi-sele...
Category\Authorization
This class enforces authorization rules when saving categories, specifically preventing unauthorized users from modifying design-related attributes li...
Category\DataProvider
This class provides data and metadata for the Magento 2 category form in the admin panel. Developers use it when customizing the category edit form, a...
Category\FileInfo
This class provides file information and path management utilities for category-related media files in Magento 2. Developers use it to verify file exi...
Category\Image
This service class resolves and returns the full URL for category images in Magento 2. Developers use it to get the complete media URL for a category'...
Category\LayoutCacheTagResolver
This class resolves cache tags that need to be invalidated when a category's page layout is changed. It ensures that widget instances associated with...
Category\Link\ReadHandler
This read handler loads category assignment data for products and attaches it to the product entity as extension attributes. It retrieves all category...
Category\Link\SaveHandler
This class handles saving category assignments for products in Magento 2. It processes both extension attributes (category links with positions) and d...
Category\Product\PositionResolver
This class retrieves product position information within a specific category. Developers use it to get ordered product positions or find the minimum p...
Category\StoreCategories
This class retrieves all category IDs associated with a specific store group by fetching the root category and its children. Developers use it when th...
Category\Tree
This class retrieves and manages category data in a hierarchical tree structure for Magento's catalog system. Developers use it to get the category tr...
CompareList
This class represents a customer's product compare list in Magento 2. Developers use this model to interact with compare list data, such as retrieving...
CompareListIdToMaskedListId
This class retrieves the masked (hashed) ID of a product compare list given its numeric database ID. Developers use this when working with GraphQL or...
Config
This class manages catalog configuration data in Magento 2, providing access to product attributes, attribute sets, attribute groups, and product type...
Config\Backend\Category
This backend model handles the saving of catalog category root configuration settings in Magento's system configuration. When a store's root category...
Config\CatalogMediaConfig
This class manages configuration settings for catalog media URLs in Magento 2. Developers use it to retrieve the URL format for catalog images, which...
Config\LayerCategoryConfig
This class provides configuration settings for controlling whether the category filter appears in Magento's layered navigation (filtering sidebar). De...
Config\Source\Category
This class provides a source model for category dropdown options in Magento's admin configuration forms. It's used when you need to populate a select...
Config\Source\GridPerPage
This class provides configuration options for the number of products displayed per page in grid view on the catalog frontend. Developers use it as a s...
Config\Source\LayoutList
This class provides a list of available layout options for default product and category layouts in Magento's admin configuration. Developers use this...
Config\Source\ListMode
This class provides configuration options for product list display modes in catalog pages. Developers use it in system configuration settings to allow...
Config\Source\ListPerPage
This class provides pagination options for product listing pages in Magento 2's catalog. Developers use it as a source model in system configuration t...
Config\Source\ListSort
This class provides a list of available sorting options for product listing pages in Magento 2. It's used in admin configuration settings to populate...
Config\Source\TimeFormat
This class provides time format options for configuration settings in the Magento Catalog module. Developers use it as a source model in system.xml co...
CustomOptions\CustomOption
This class represents a custom option value for a product in Magento 2, typically used when adding products to cart or orders. Developers use this to...
CustomOptions\CustomOptionProcessor
This class processes custom product options for cart items in Magento 2. It converts custom options between the buy request format (used when adding t...
Data
This helper class provides core catalog functionality including breadcrumb path generation, retrieving current category/product from registry, tax cal...
DefaultCategory
This helper class provides access to Magento's default root category ID, which is hardcoded as 2. Developers use this when they need to reference the...
Design
This class manages custom design and layout settings for catalog products and categories in Magento 2. Developers use it to apply custom themes, extra...
Entity\Attribute
This class extends Magento's base EAV attribute model specifically for catalog entities (products, categories). Developers use this when working with...
FilterProductCustomAttribute
This class filters out specific product custom attributes that should not be processed or displayed. Developers use it to exclude certain attribute co...
FrontendStorageConfigurationPool
This class manages a pool of frontend storage configurations that provide dynamic settings (like store configurations) to the frontend. Developers use...
Helper\Product\Configuration\ConfigurationInterface
This interface defines the contract for helpers that retrieve and format product configuration options (like custom options, configurable product sele...
Image
This helper class provides a fluent interface for generating and manipulating product images in Magento 2. Developers use it to create resized, waterm...
ImageExtractor
This class extracts image configuration data from XML DOM structures, specifically from view.xml configuration files. Developers use this when Magento...
ImageUploader
The ImageUploader class handles uploading and managing catalog images in Magento 2. Developers use this class to upload images to temporary directorie...
Indexer\AbstractFlatState
This abstract class provides a foundation for checking the availability and enabled state of Magento's flat indexer functionality (used for product an...
Indexer\Category\Flat
This class manages the Category Flat indexer in Magento 2, which creates and maintains flattened category tables for improved frontend performance. De...
Indexer\Category\Product
This indexer maintains the relationship between categories and their assigned products in Magento 2. Developers interact with this class when products...
Indexer\Product\Category
This indexer maintains the relationship between products and categories in Magento 2. It rebuilds or updates the catalog_product_category index table...
Indexer\Product\Eav
This class manages the indexing of product EAV (Entity-Attribute-Value) attributes in Magento 2. Developers interact with this indexer when product at...
Indexer\Product\Flat
This indexer manages the product flat table functionality in Magento 2, which creates denormalized tables to improve product data retrieval performanc...
Indexer\Product\Full
This class serves as a coordinator for reindexing multiple product-related indexes in Magento 2. It executes full reindexing, list-based reindexing, o...
Indexer\Product\Price
This class manages product price indexing in Magento 2, responsible for updating the price index tables that enable fast price filtering and sorting o...
Layer
The Layer class manages product collections and filtering for catalog browsing in Magento 2. Developers use this when working with category pages, lay...
Layer\Category
This class represents the catalog layer for category pages in Magento 2. It serves as a concrete implementation of the abstract Layer class specifical...
Layer\Category\AvailabilityFlag
This class determines whether the layered navigation (filtering options) should be displayed on category pages. Developers use this to check if filter...
Layer\Category\CollectionFilter
This class filters and prepares product collections for category pages by adding necessary attributes, pricing information, and visibility restriction...
Layer\Category\FilterableAttributeList
This class retrieves a collection of product attributes that can be used as filters in catalog category layered navigation. Developers use this to get...
Layer\Category\ItemCollectionProvider
This class provides the product collection for a specific category in Magento's layered navigation system. Developers use this when working with catal...
Layer\Category\StateKey
This class generates unique cache keys for catalog category layers based on store, category, and customer group. Developers use this to ensure proper...
Layer\Context
This class serves as a dependency injection container for the Catalog Layer model, bundling together related dependencies like collection providers, s...
Layer\FilterList
This class manages and creates layered navigation filters for catalog product listings in Magento 2. Developers use it to retrieve the collection of f...
Layer\Filter\AbstractFilter
This abstract base class provides core functionality for layered navigation filters in Magento 2 catalog pages. Developers extend this class to create...
Layer\Filter\Attribute
This class handles attribute-based filtering in Magento's layered navigation. Developers use it to filter product collections by dropdown or swatch at...
Layer\Filter\Category
This class implements the category filter for Magento 2's layered navigation. Developers use this to enable customers to filter product listings by ca...
Layer\Filter\Decimal
This class implements a layered navigation filter for decimal product attributes in Magento 2's catalog. Developers use this to create range-based fil...
Layer\Filter\Item
This class represents a single filter option item in Magento's layered navigation (e.g., a specific color or price range). Developers use it to genera...
Layer\Filter\Price
This class implements the price range filter functionality for Magento 2 product listings and layered navigation. Developers use this class to apply p...
Layer\Resolver
This class manages the creation and retrieval of catalog layer instances in Magento 2, which are used for filtering and displaying products in categor...
Layer\Search
This class represents the layered navigation (filtering) layer specifically for search results pages in Magento 2. Developers use this class when impl...
Layer\Search\CollectionFilter
This class filters and configures product collections specifically for search results pages. Developers use it to ensure search results only display p...
Layer\Search\FilterableAttributeList
This class retrieves product attributes that can be used as filters in search results layered navigation. It extends the category filterable attribute...
Layer\Search\ItemCollectionProvider
This class provides product collections specifically for search result pages in Magento 2. It implements the ItemCollectionProviderInterface and creat...
Layer\State
This class manages the state of layered navigation (filtering) in Magento's catalog browsing. Developers use it to track which filters are currently a...
Layout\DepersonalizePlugin
This plugin clears catalog session data when page cache depersonalization is needed. It runs after layout generation to remove customer-specific catal...
Locator\RegistryLocator
This locator class retrieves the current product and store from Magento's registry. Developers use it when building product-related UI components or f...
MaskedListIdToCompareListId
This class converts a masked compare list ID (public identifier) into an actual compare list ID (internal database ID). Developers use this when handl...
Model\Attribute\LockValidatorInterface
This interface defines a contract for validators that check if a catalog attribute is locked and can be modified. Developers implement this interface...
Model\Config\Source\ProductPriceOptionsInterface
This interface defines constants for product price option types in Magento 2, specifically 'fixed' and 'percent' values. Developers use this interface...
Model\EntityInterface
This interface defines a contract for catalog entities that require a unique entity identifier. Developers implement this interface on catalog-related...
Model\Factory
This is a factory class that creates instances of Catalog module models dynamically. Developers use it when they need to instantiate different model c...
Model\FrontendStorageConfigurationInterface
This interface defines a contract for providing configuration data to frontend JavaScript storage mechanisms in Magento 2 catalog functionality. Devel...
Model\Layer\AvailabilityFlagInterface
This interface defines a contract for determining whether filters are enabled in a Magento catalog layer. Developers implement this interface to creat...
Model\Layer\CollectionFilterInterface
This interface defines a contract for filtering product collections based on category context in Magento's catalog layer. Developers implement this in...
Model\Layer\ContextInterface
This interface defines a context object for the Catalog Layer model, providing access to collection providers, state keys, and collection filters. Dev...
Model\Layer\Filter\Factory
This factory class creates instances of catalog layer filter objects (like price filters, attribute filters) used in product listing pages. Developers...
Model\Layer\Filter\FilterInterface
This interface defines the contract for layered navigation filters in Magento 2 catalog. Developers implement this interface when creating custom prod...
Model\Layer\FilterableAttributeListInterface
This interface defines a contract for retrieving a list of product attributes that can be used for filtering in catalog layers (like category or searc...
Model\Layer\ItemCollectionProviderInterface
This interface defines a contract for retrieving product collections based on a category in Magento's layered navigation system. Developers implement...
Model\Layer\StateKeyInterface
This interface defines a contract for generating unique state keys for catalog layers based on categories. Developers implement this interface to crea...
Model\Locator\LocatorInterface
This interface defines a contract for locating and accessing product-related context information in Magento 2. Developers use implementations of this...
Model\ProductIdLocatorInterface
This interface defines a contract for retrieving product IDs and types by their SKUs. Developers use implementations of this interface when they need...
Model\ProductLink\CollectionProviderInterface
This interface defines a contract for retrieving linked products associated with a given product in Magento 2. Developers implement this interface to...
Model\ProductLink\Converter\ConverterInterface
This interface defines a contract for converters that transform Magento Product objects into array representations. Developers implement this interfac...
Model\ProductLink\Data\ListCriteriaInterface
This interface defines the criteria for searching and filtering product links (related products, up-sells, cross-sells, etc.) in Magento 2. Developers...
Model\ProductLink\Data\ListResultInterface
This interface defines the contract for returning results when fetching a list of product links (related, upsell, cross-sell products). It provides a...
Model\ProductLink\MapProviderInterface
This interface defines a contract for providers that fetch product link data in Magento 2. Developers implement this interface to create custom provid...
Model\ProductOptionProcessorInterface
This interface defines methods for converting product configuration data between two formats: ProductOptionInterface objects and buy request DataObjec...
Model\ProductOptions\ConfigInterface
This interface defines a contract for accessing product option configurations in Magento 2. Developers implement this interface to retrieve specific p...
Model\ProductTypes\ConfigInterface
This interface defines the contract for accessing Magento 2 product type configurations. Developers use this to retrieve product type settings, check...
Model\Product\Attribute\AttributeSetUnassignValidatorInterface
This interface defines a contract for validators that check whether an attribute can be safely removed from a product attribute set. Developers implem...
Model\Product\CatalogPriceFactory
This factory class creates and validates custom catalog price models for external catalogs or third-party integrations. Developers use it when they ne...
Model\Product\CatalogPriceInterface
This interface defines methods for retrieving product catalog prices for external catalogs or third-party integrations. Developers implement this inte...
Model\Product\Condition\ConditionInterface
This interface defines a contract for applying filtering conditions to product collections in Magento 2. Developers implement this interface when crea...
Model\Product\CopyConstructorFactory
This factory class creates instances of product copy constructors that implement the CopyConstructorInterface. Developers use this when they need to d...
Model\Product\CopyConstructorInterface
This interface defines the contract for classes that handle product duplication logic in Magento 2. Developers implement this interface to create copy...
Model\Product\Gallery\ImagesConfigFactory
This factory class creates a collection of image configuration objects for product gallery images. Developers use this when they need to build a struc...
Model\Product\Gallery\ImagesConfigFactoryInterface
This factory interface defines a contract for creating a collection of gallery image configurations for products. Developers use this to generate stan...
Model\Product\Media\ConfigInterface
This interface defines the contract for managing product media file locations in Magento 2's catalog system. Developers use implementations of this in...
Model\Product\PriceModifierInterface
This interface defines a contract for classes that need to modify product prices in Magento 2. Developers implement this interface when creating custo...
Model\Product\Price\TierPriceFactory
This factory creates and manages tier price objects for products in Magento 2. Developers use this class to convert raw tier price data from the datab...
Model\ResourceModel\AbstractCollection
This abstract collection class provides a foundation for Magento 2 catalog collections (products, categories) that use flat tables instead of EAV stru...
Model\ResourceModel\Category\Collection
This collection class retrieves and manages groups of category entities from the database in Magento 2. Developers use it to load categories with vari...
Model\ResourceModel\Category\StateDependentCollectionFactory
This factory creates the appropriate category collection based on whether flat catalog indexing is enabled. It automatically returns either a flat col...
Model\ResourceModel\ProductFrontendAction\Collection
This collection class retrieves and manages ProductFrontendAction records from the database, which track customer/visitor interactions with products (...
Model\ResourceModel\Product\BaseSelectProcessorInterface
This interface defines a contract for processors that modify database SELECT queries for product collections. Developers implement this interface to a...
Model\ResourceModel\Product\Collection
This class manages collections of product entities in Magento 2, providing methods to filter, sort, and retrieve product data efficiently. Developers...
Model\ResourceModel\Product\LinkedProductSelectBuilderInterface
This interface defines a contract for building database SELECT queries to retrieve linked product information with minimal price data. Developers impl...
Model\Template\Filter\Factory
This factory class creates template filter instances for processing Magento catalog templates with dynamic variables and directives. Developers use it...
Output
This helper class processes and sanitizes catalog attribute output (product and category attributes) for safe display in the frontend. It handles HTML...
Product
The Product model is the core class representing catalog products in Magento 2. Developers use it to load, save, and manipulate product data including...
Product
This helper class provides utility methods for working with products in Magento 2. Developers use it to retrieve product URLs, images, prices, check p...
ProductAttributeGroupRepository
This repository class manages CRUD operations for product attribute groups in Magento 2. Developers use it to create, retrieve, update, or delete attr...
ProductAttributeSearchResults
This class serves as a data transfer object (DTO) that contains search results for product attributes in Magento 2. It's used by repository methods to...
ProductCategoryList
This class retrieves all category IDs that a specific product belongs to across all stores. Developers use this when they need to determine which cate...
ProductFrontendAction
This model represents frontend user actions performed on products, such as views or recently viewed items. Developers use this class to track and stor...
ProductIdLocator
This class efficiently retrieves product IDs and types by their SKUs. Developers use it when they need to look up multiple products by SKU in bulk ope...
ProductLink\Attribute
This class represents an attribute of a product link relationship in Magento 2, such as attributes for related products, upsells, or cross-sells. Deve...
ProductLink\CollectionProvider
This class retrieves and organizes linked products (related, cross-sells, upsells) for one or more products in Magento 2. Developers use it to get col...
ProductLink\CollectionProvider\Crosssell
This class retrieves cross-sell products linked to a given product. Developers use this when they need to display product recommendations that complem...
ProductLink\CollectionProvider\LinkedMapProvider
This class retrieves and manages product link relationships (cross-sell, up-sell, and related products) for multiple products at once. Developers use...
ProductLink\CollectionProvider\Related
This class provides a standardized way to retrieve related products for a given product in Magento 2. Developers use this when they need to fetch prod...
ProductLink\CollectionProvider\Upsell
This class provides a standardized way to retrieve upsell products linked to a given product. Developers use this when they need to fetch products tha...
ProductLink\Converter\ConverterPool
This class manages a pool of product link converters and provides the appropriate converter based on the product link type (e.g., related, upsell, cro...
ProductLink\Converter\DefaultConverter
This class converts a Magento product object into a standardized array format containing basic product link information (type, SKU, and position). Dev...
ProductLink\Data\ListCriteria
This class serves as a data transfer object (DTO) that encapsulates search criteria for retrieving product links (related products, up-sells, cross-se...
ProductLink\Data\ListResult
This class serves as a data transfer object (DTO) that encapsulates the result of product link list operations. Developers use it to handle both succe...
ProductLink\Link
This class represents a product link relationship in Magento 2, such as related products, up-sells, or cross-sells. Developers use this model to progr...
ProductLink\Management
This class manages product link relationships (related, upsell, cross-sell) through Magento's API. Developers use it to programmatically retrieve or s...
ProductLink\ProductLinkQuery
This class retrieves product links (related products, up-sells, cross-sells, etc.) in bulk based on specified criteria. Developers use it when they ne...
ProductLink\Repository
This repository class manages product link relationships in Magento 2, such as related products, up-sells, and cross-sells. Developers use it to progr...
ProductLink\Search
This class provides product search functionality for linking products in the catalog. Developers use it to retrieve a filtered collection of products...
ProductLink\Type
This class represents a product link type in Magento 2, defining the relationship types between products (such as related products, up-sells, or cross...
ProductManagement
This class provides product management functionality, specifically counting products in the catalog. Developers use it to retrieve the total number of...
ProductNotFoundPageCacheTags
This class ensures that when a product page results in a 404 error (noroute page), the cached 404 page is tagged with that product's cache identities....
ProductOption
This class represents product options in the cart or order context, providing a standardized way to handle custom options, configurable attributes, or...
ProductOptionProcessor
This class converts product custom options between two formats: from API data structures (ProductOptionInterface) to buy request objects used when add...
ProductOptions\Config
This class provides access to product options configuration in Magento 2. Developers use it to retrieve configuration data for specific product option...
ProductOptions\Config\Converter
This converter class transforms XML configuration for product options into a PHP array structure. Developers use this when defining custom product opt...
ProductOptions\Config\Reader
This class reads and parses product_options.xml configuration files from Magento modules to define custom product option types and their input types....
ProductOptions\Config\SchemaLocator
This class provides the file paths to XSD schema files used to validate product options configuration in Magento 2. It implements SchemaLocatorInterfa...
ProductOptions\TypeList
This class provides a list of available custom option types that can be used when creating product options in Magento. Developers use this to retrieve...
ProductRender
This class serves as a Data Transfer Object (DTO) that encapsulates all the information needed to render a product on the frontend, including buttons...
ProductRenderInfoSearchResults
This class represents a collection of product render information results returned from search operations. Developers use this when retrieving multiple...
ProductRenderList
This class retrieves and prepares product rendering information needed to display products on the frontend. It fetches product data based on search cr...
ProductRender\Button
This class represents a button (typically 'Add to Cart') in product rendering contexts, such as product listings or catalog widgets. It stores button-...
ProductRender\FormattedPriceInfo
This model stores formatted price information for product rendering in the frontend, including final prices, regular prices, special prices, and min/m...
ProductRender\FormattedPriceInfoBuilder
This builder class converts numeric price values from a PriceInfoInterface object into formatted HTML price strings using the store's currency format....
ProductRender\Image
This model represents product image data for rendering purposes in Magento 2. Developers use this class when working with product rendering APIs to st...
ProductRender\PriceInfo
This class serves as a data container for product pricing information used in product rendering operations. Developers use this model to store and ret...
ProductRepository
ProductRepository is the central service for managing product data in Magento 2. Developers use it to retrieve, save, delete, and search for products...
ProductRepository\MediaGalleryProcessor
This class handles the processing of product media gallery entries before saving a product through the ProductRepository. Developers use this when wor...
ProductSearchResults
This class serves as a data container for product search results returned by repository methods in Magento 2. Developers use this when implementing pr...
ProductType
This class represents a product type entity in Magento 2's catalog system. Developers use it to access or set product type information such as the typ...
ProductTypeList
This class retrieves and provides a list of all available product types in Magento (simple, configurable, bundle, etc.). Developers use it when they n...
ProductTypes\Config
This class provides access to product type configurations in Magento 2, allowing developers to retrieve information about different product types (sim...
ProductTypes\Config\Converter
This class converts product type configuration XML data into an array format that Magento can use internally. Developers use this when defining custom...
ProductTypes\Config\Reader
This class reads and parses product_types.xml configuration files from Magento modules to load product type definitions. It defines how different prod...
ProductTypes\Config\SchemaLocator
This class provides the file paths to XSD schema files used for validating product types configuration in Magento 2. Developers would use this when wo...
ProductVisibilityCondition
This class applies visibility filtering to product collections, ensuring only products visible in the catalog are included. Developers use this to aut...
ProductWebsiteLink
This class represents the relationship between a product and a website in Magento's multi-website setup. Developers use it to manage which products ar...
ProductWebsiteLinkRepository
This repository manages the assignment of products to websites in a multi-website Magento 2 setup. Developers use this class to programmatically assig...
Product\Action
This class handles mass/bulk updates to product attributes and website assignments. Developers use it when they need to update multiple products at on...
Product\AttributeSet\Build
This builder class creates new EAV attribute sets for product entities in Magento 2. It validates that an attribute set with the given name doesn't al...
Product\AttributeSet\Options
This class provides a list of available product attribute sets as an options array, typically used to populate dropdown fields in admin forms or grids...
Product\AttributeSet\SuggestedSet
This model provides attribute set suggestions for products based on partial name matches. Developers use this class when implementing auto-complete or...
Product\Attribute\AttributeSetFinder
This class finds and retrieves unique attribute set IDs associated with a given list of product IDs. Developers use this when they need to determine w...
Product\Attribute\AttributeSetUnassignValidator
This class validates whether a product attribute can be unassigned from an attribute set. Developers use this validator before removing an attribute f...
Product\Attribute\DataProvider
This data provider class supplies form metadata and configuration for the product attribute creation/editing UI in Magento 2's admin panel. It customi...
Product\Attribute\DefaultAttributes
This class provides a list of default static attributes that every product entity must have in Magento 2. Developers would use this when they need to...
Product\Attribute\Group
This class manages product attribute groups in Magento 2, which organize product attributes into logical sections on the product edit form. Developers...
Product\Attribute\IsFilterableManagement
This class manages the filterable status of product attributes in Magento 2, controlling whether attributes can be used in layered navigation. Develop...
Product\Attribute\LayoutUpdateManager
This class manages custom layout updates for product pages in Magento 2. Developers use it to fetch available layout XML files for specific products a...
Product\Attribute\Management
This class manages product attribute assignments to attribute sets and groups in Magento 2. Developers use it to programmatically assign or unassign a...
Product\Attribute\OptionManagement
This class manages options for product attributes (like color, size, etc.) in Magento 2. Developers use it to programmatically add, retrieve, update,...
Product\Attribute\Repository
This class manages product attributes in Magento 2, providing methods to retrieve, create, update, and delete product attributes. Developers use this...
Product\Attribute\SetManagement
This class manages the creation of product attribute sets in Magento 2. Developers use this service to programmatically create new attribute sets base...
Product\Attribute\SetRepository
This repository class manages CRUD operations for product attribute sets in Magento 2. Developers use it to retrieve, create, update, or delete attrib...
Product\Attribute\Type
This class represents a product attribute type data model in Magento 2's catalog system. Developers use it to work with attribute type information, sp...
Product\Attribute\TypesList
This class retrieves a list of available product attribute input types (text, dropdown, date, etc.) in Magento 2. Developers use this class when build...
Product\Authorization
This class provides authorization checks for product save operations, specifically protecting design-related attributes (custom layouts, design themes...
Product\CartConfiguration
This class determines whether a product has been properly configured with required options before being added to the cart. Developers use it to valida...
Product\CatalogPrice
This class acts as a facade for retrieving catalog prices for different product types in Magento 2. It delegates price calculations to specific price...
Product\Compare
This helper class manages product comparison functionality in Magento 2, allowing customers to add, remove, and compare products side-by-side. Develop...
Product\Compare\Item
This class manages individual items in a customer's product comparison list in Magento 2. Developers use it to add/remove products from compare lists,...
Product\Compare\ListCompare
This class manages the product comparison feature in Magento 2, allowing customers to add, remove, and view products in their comparison list. Develop...
Product\Composite
This helper class manages the rendering of product configuration interfaces in the admin area, particularly for composite products (configurable, bund...
Product\Condition
This class represents a condition for filtering product collections based on a join table and primary key field. Developers use it to apply conditiona...
Product\Configuration
This helper class retrieves and formats product configuration options for configurable items like cart items, order items, or quote items. Developers...
Product\ConfigurationPool
This helper class manages a pool of product configuration helpers for different product types in Magento 2. Developers use it to retrieve the appropri...
Product\Copier
This class handles the creation of product duplicates in Magento 2. Developers use this class when implementing features that need to copy existing pr...
Product\CopyConstructor\Composite
This class orchestrates the product duplication process in Magento 2 by applying multiple copy constructors in sequence. Developers use it when duplic...
Product\CopyConstructor\CrossSell
This class handles the copying of cross-sell product links when duplicating a product in Magento. It extracts all cross-sell relationships from the or...
Product\CopyConstructor\Related
This class handles copying related product links when duplicating a product in Magento 2. When a product is duplicated, this copy constructor ensures...
Product\CopyConstructor\UpSell
This class is responsible for copying up-sell product links when duplicating a product in Magento 2. When a product is duplicated, this copy construct...
Product\Edit\WeightResolver
This class determines whether a product has physical weight or not, which is important for shipping calculations and product type handling. Developers...
Product\Exception
This is a specialized exception class for product-related errors in Magento's Catalog module. Developers should throw this exception when encountering...
Product\Filter\DateTime
This filter class converts datetime values from locale-specific or MySQL formats into Magento's internal datetime format. Developers use it when proce...
Product\Flat\Indexer
This helper class manages the structure and creation of Magento 2's flat product index tables. Developers use it when working with product flat indexi...
Product\Gallery\CopyHandler
This class handles copying media gallery images and data from one product to another during product duplication operations. Developers use this when p...
Product\Gallery\CreateHandler
This class handles the creation and management of product gallery images in Magento 2's catalog system. Developers use this when products are saved to...
Product\Gallery\DeleteHandler
This class handles the deletion of all media gallery images and related database records when a product is deleted from the catalog. Developers use th...
Product\Gallery\DeleteValidator
This class validates whether a product gallery image can be safely deleted by checking if it's assigned to image roles (base, small, thumbnail, swatch...
Product\Gallery\Entry
This class represents a single media gallery entry (image or video) for a product in Magento 2. Developers use it to manage product media attributes l...
Product\Gallery\EntryResolver
This class resolves mappings between product media gallery entry IDs and their file paths. Developers use it to look up a gallery image's file path wh...
Product\Gallery\GalleryManagement
This class manages product media gallery operations through Magento's API. Developers use it to programmatically create, update, retrieve, or delete p...
Product\Gallery\MimeTypeExtensionMap
This class provides a mapping utility that converts image MIME types to their corresponding file extensions for product gallery images. Developers use...
Product\Gallery\Processor
This class handles all operations related to product image galleries in Magento 2. Developers use it to programmatically add, update, remove, or retri...
Product\Gallery\ReadHandler
This class loads and attaches media gallery images to product entities when they are retrieved from the database. Developers use this as part of Magen...
Product\Gallery\UpdateHandler
This class handles updating product gallery images when a product is saved in Magento 2. It manages the lifecycle of product images including removing...
Product\Hydrator
This class handles the conversion of product entity objects to/from arrays in Magento 2. Developers use this when working with the Entity Manager fram...
Product\Image
This class handles product image manipulation operations in Magento 2's catalog module. Developers use it to resize, rotate, crop, and add watermarks...
Product\Image\Cache
This class is responsible for pre-generating and caching product image variations (thumbnails, different sizes) based on theme configurations defined...
Product\Image\ConvertImageMiscParamsToReadableFormat
This class converts product image configuration parameters into human-readable string format for use in cache keys or file naming. Developers use it w...
Product\Image\NotLoadInfoImageException
This is a custom exception class used specifically when product image information fails to load in Magento's catalog system. Developers catch this exc...
Product\Image\ParamsBuilder
This class builds configuration parameters for product images in Magento 2, including dimensions, watermarks, quality settings, and display options li...
Product\Image\RemoveDeletedImagesFromCache
This class removes deleted product images from Magento's image cache directories. When product images are deleted from the catalog, this service clean...
Product\Image\UrlBuilder
This class generates URLs for product images based on the image file path and display area (e.g., 'product_page_image_small', 'category_page_grid'). D...
Product\LayoutCacheTagResolver
This class resolves cache tags for product page layouts to ensure proper cache invalidation when a product's page layout changes. It implements Magent...
Product\Link
This class manages product relationships in Magento 2, including related products, up-sells, and cross-sells. Developers use it to programmatically li...
Product\LinkTypeProvider
This class manages and provides information about product link types in Magento 2 (such as related products, up-sells, and cross-sells). Developers us...
Product\Link\Converter
This class converts product link information into a grouped array structure, organizing links by their type (related, upsell, cross-sell, associated)....
Product\Link\Resolver
This class retrieves and manages product link data (related, upsell, cross-sell products) during product operations. It serves as a central resolver t...
Product\Link\SaveHandler
This class handles saving product link associations (related products, up-sells, cross-sells) when a product is saved. Developers would use this as pa...
Product\Media\AttributeManagement
This class manages media attributes for product attribute sets in Magento 2. Developers use it to retrieve a list of all media image attributes (like...
Product\Media\Config
This class provides configuration and path/URL generation methods for product media files in Magento 2. Developers use it to get filesystem paths and...
Product\Option
This class manages product custom options in Magento 2, allowing products to have configurable fields like text inputs, file uploads, dropdowns, and d...
Product\Option\Converter
This converter class transforms product custom option objects into array format. Developers use this when they need to serialize product options (like...
Product\Option\ReadHandler
This read handler is responsible for loading and attaching custom product options to a product entity during the product retrieval process. It's autom...
Product\Option\Repository
This repository class manages product custom options (like size, color, personalization fields) in Magento 2. Developers use it to retrieve, save, del...
Product\Option\SaveHandler
This class handles the saving of custom product options when a product entity is saved. Developers use this as part of Magento's extension attributes...
Product\Option\Type
This class represents a product custom option type definition in Magento's catalog system. Developers use it to define and manage the structure of opt...
Product\Option\UrlBuilder
This class is a utility builder for generating frontend URLs related to product options in Magento's catalog system. Developers use this when they nee...
Product\Option\Value
This class represents a single value option for customizable product options (like dropdown choices, radio buttons, or checkboxes). Developers use it...
Product\PriceModifier
This class handles modifications to product tier pricing in Magento 2, specifically removing tier prices for products. Developers use this when they n...
Product\PriceModifier\Composite
This class implements the Composite design pattern to orchestrate multiple price modification operations on products. Developers use this to allow dif...
Product\Price\BasePrice
This class serves as a Data Transfer Object (DTO) for product base price information in Magento 2. Developers use it to encapsulate and transfer produ...
Product\Price\BasePriceStorage
This class manages base product prices in Magento 2, providing functionality to retrieve and update prices for products. Developers use this class whe...
Product\Price\Cost
This class serves as a Data Transfer Object (DTO) for product cost information in Magento 2. Developers use it when working with product cost data acr...
Product\Price\CostStorage
This class manages product cost storage operations in Magento 2, providing functionality to retrieve, update, and delete product cost values. Develope...
Product\Price\PricePersistence
PricePersistence handles database operations for product prices in Magento 2. Developers use this class when they need to programmatically retrieve, u...
Product\Price\PriceUpdateResult
This class represents the result of a product price update operation in Magento 2. Developers use it to store and retrieve feedback messages and param...
Product\Price\SpecialPrice
This model class encapsulates special pricing data for products in Magento 2. Developers use it to programmatically manage time-limited promotional pr...
Product\Price\SpecialPriceStorage
This class manages special price operations for Magento products, providing efficient API methods to retrieve, update, and delete special prices (sale...
Product\Price\TierPrice
This class represents a Tier Price Data Transfer Object (DTO) for product pricing in Magento 2. Developers use this class to work with tier pricing da...
Product\Price\TierPricePersistence
This class handles database operations for product tier prices in Magento 2. Developers use it to retrieve, create, update, replace, or delete tier pr...
Product\Price\TierPriceStorage
This class manages tier pricing data for products in Magento 2, providing methods to retrieve, create, update, and delete bulk tier prices by product...
Product\ProductFrontendAction\Synchronizer
This class synchronizes product frontend actions (like recently viewed or compared products) between the browser and Magento's database. Developers us...
Product\ProductList
This helper class provides configuration and default values for product list toolbars, specifically handling view modes (grid/list), sorting options,...
Product\ProductList\Toolbar
This class extracts and manages product list toolbar parameters from HTTP requests, including sorting order/direction, display mode, items per page li...
Product\ProductList\ToolbarMemorizer
This class manages the persistence of product list toolbar settings (sort order, direction, display mode, and items per page) in the customer's sessio...
Product\ReservedAttributeCheckerAdapter
This adapter class wraps the ReservedAttributeList to implement the ReservedAttributeCheckerInterface, ensuring backward compatibility while following...
Product\ReservedAttributeList
This class maintains a list of reserved attribute codes that cannot be used for custom user-defined product attributes in Magento 2. It automatically...
Product\ScopedTierPriceManagement
This class manages tier pricing (volume discounts) for products within specific store scopes in Magento 2. Developers use it to programmatically add,...
Product\TierPrice
This class represents a tier pricing model for products in Magento 2. Developers use it to manage quantity-based discounts where customers get differe...
Product\TierPriceManagement
This class manages tier pricing for products in Magento 2, allowing developers to programmatically add, remove, and retrieve volume-based discounts fo...
Product\Type
This class serves as a factory and registry for all product types in Magento 2 (simple, bundle, virtual, etc.). Developers use it to get product type...
Product\TypeTransitionManager
This class manages the transition of products between compatible product types during editing. It automatically converts products between Simple and V...
Product\Type\AbstractType
This is the abstract base class for all product types in Magento 2 (Simple, Configurable, Bundle, etc.). Developers extend this class when creating cu...
Product\Type\FrontSpecialPrice
This deprecated class handles the calculation and retrieval of special prices for products on the storefront. It extends the base Price model and retr...
Product\Type\Pool
This class acts as a factory pool for creating product type instances in Magento 2. Developers use it to retrieve specific product type objects (simpl...
Product\Type\Price
This class handles product pricing calculations in Magento 2, including base prices, tier prices, special prices, and final prices. Developers use thi...
Product\Type\Simple
This class represents the Simple product type in Magento 2, which is the most basic and commonly used product type. Developers use this class as a fou...
Product\Type\Virtual
This class implements the Virtual product type in Magento 2, representing products that don't have physical presence like downloadable services, warra...
Product\Url
This class handles the generation and formatting of product URLs in Magento 2. Developers use it to get product URLs for different stores, apply URL r...
Product\Validator
This validator class acts as a wrapper for product validation in Magento 2. Developers would use this class when they need to validate product data du...
Product\View
This helper class handles the initialization and rendering of product detail pages in Magento 2. Developers use it to set up product view layouts, app...
Product\Visibility
This class manages product visibility settings in Magento 2, controlling where products appear (catalog, search, both, or not visible individually). D...
Product\Webapi\ProductOutputProcessor
This class processes product output for Web API responses by removing empty arrays for tier_prices and product_links that weren't included in the orig...
Product\Website
This model class manages the relationship between products and websites in a multi-website Magento installation. Developers use it to assign products...
Product\Website\ReadHandler
This class loads and attaches website IDs to a product's extension attributes during product read operations. It's automatically invoked by Magento's...
Product\Website\SaveHandler
This class handles saving product-to-website associations during product save operations in Magento's entity management system. Developers use this ex...
ResourceModel\AbstractResource
This abstract class serves as the base resource model for Magento 2 catalog entities (products, categories). It handles store-specific attribute loadi...
ResourceModel\Attribute
This resource model manages catalog attribute persistence and deletion operations in Magento 2. Developers use this class when working with product or...
ResourceModel\AttributePersistor
This class handles the persistence (saving, updating, deleting) of catalog product attributes to the database, specifically managing website-scoped an...
ResourceModel\Attribute\ConditionBuilder
This class builds database query conditions for catalog attribute operations when attributes have website scope. Developers use it internally when Mag...
ResourceModel\Attribute\RemoveProductAttributeData
This class handles the deletion of product attribute values from the database when an attribute is removed from a specific attribute set. Developers w...
ResourceModel\Attribute\WebsiteAttributesSynchronizer
This class synchronizes website-scoped product and category attribute values across different store views within the same website. Developers use it t...
ResourceModel\CatalogCategoryAndProductResolverOnSingleStoreMode
This class handles the migration of catalog category and product attribute data when switching from multi-store to single store mode in Magento 2. It...
ResourceModel\Category
This is the core resource model for managing category data in Magento 2's database. Developers use it to perform CRUD operations on categories, manage...
ResourceModel\CategoryProduct
This resource model manages the database operations for the catalog_category_product table, which stores the many-to-many relationship between product...
ResourceModel\Category\AggregateCount
This class handles the aggregation of category counts when a category is deleted in Magento 2. It automatically updates the children_count field for a...
ResourceModel\Category\Flat
This class manages Magento 2's flat category table structure, which provides optimized read performance for category operations. Developers use this r...
ResourceModel\Category\Tree
This class manages the hierarchical tree structure of Magento categories, providing methods to load, organize, and manipulate category data with their...
ResourceModel\Config
This resource model manages catalog configuration data, specifically retrieving product attribute information used in product listings and sorting. De...
ResourceModel\DuplicatedProductAttributesCopier
This class is responsible for copying non-global product attributes from a source product to a target product during product duplication. It's automat...
ResourceModel\Eav\Attribute
This class represents a catalog product attribute in Magento 2's EAV system. Developers use it to manage product attribute properties like scope (glob...
ResourceModel\GetProductTypeById
This class retrieves a product's type ID (such as 'simple', 'configurable', 'virtual', etc.) by its product ID through direct database access. Develop...
ResourceModel\Helper
This class serves as a database resource helper specifically for Catalog module operations, extending the EAV resource helper functionality. Developer...
ResourceModel\Indexer\ActiveTableSwitcher
This class manages the switching of database index tables between active and replica versions in Magento 2. Developers use this during index operation...
ResourceModel\MaxHeapTableSizeProcessor
This class manages MySQL's max_heap_table_size session variable, which controls the maximum size for in-memory temporary tables. Developers would use...
ResourceModel\MediaImageDeleteProcessor
This class handles the deletion of product images from both the database and filesystem when a product is deleted. It ensures images are only physical...
ResourceModel\Product
This is the main resource model for Magento 2 products, handling all database operations for product entities including CRUD operations, attribute man...
ResourceModel\ProductFrontendAction
This resource model manages database operations for tracking customer frontend actions related to products, such as recently viewed products or produc...
ResourceModel\ProductWebsiteAssignmentHandler
This class handles the assignment of products to websites in Magento's multi-website setup. Developers use this handler during product save operations...
ResourceModel\Product\Action
This class handles mass updating of product attributes for multiple products at once in Magento 2. Developers use this when they need to efficiently u...
ResourceModel\Product\CategoryLink
This resource model manages the relationships between products and categories in Magento 2. Developers use this class to retrieve, save, update, or de...
ResourceModel\Product\CompositeBaseSelectProcessor
This class acts as a composite processor that orchestrates multiple base select processors for product queries. Developers use this to apply a chain o...
ResourceModel\Product\Flat
This resource model manages interactions with Magento's flat product tables, which are denormalized versions of product data optimized for frontend pe...
ResourceModel\Product\Gallery
This resource model manages product media gallery database operations in Magento 2. Developers use it to load, insert, update, and delete product imag...
ResourceModel\Product\GetCategories
This class retrieves all category IDs associated with a given list of product IDs across all stores. Developers use this when they need to find which...
ResourceModel\Product\Image
This resource model retrieves product image information from the database, including both all available images and only those actively used in the cat...
ResourceModel\Product\Link
This resource model manages product link relationships in the database, such as related products, up-sells, and cross-sells. Developers use this class...
ResourceModel\Product\LinkedProductSelectBuilderByBasePrice
This class builds database select queries to retrieve the child product with the lowest base price from a parent product's linked/related products (li...
ResourceModel\Product\LinkedProductSelectBuilderBySpecialPrice
This class builds database select queries to retrieve linked child products that have active special prices within the current date range. Developers...
ResourceModel\Product\LinkedProductSelectBuilderByTierPrice
This class builds database SELECT queries to retrieve child products based on their tier pricing. Developers use this when they need to find the best-...
ResourceModel\Product\LinkedProductSelectBuilderComposite
This class acts as a composite builder that collects and merges SELECT queries from multiple linked product builders. It's used when retrieving relate...
ResourceModel\Product\MediaGalleryValue
This class manages store-specific media gallery values for product images in Magento 2. Developers use it to retrieve all gallery entries for a produc...
ResourceModel\Product\Option
This resource model manages database operations for product custom options in Magento 2, including saving, deleting, and duplicating option prices and...
ResourceModel\Product\Relation
This resource model manages parent-child relationships between products in Magento 2, primarily used for configurable, grouped, and bundle products. D...
ResourceModel\Product\StatusBaseSelectProcessor
This class filters product queries to only include enabled products by joining the status attribute tables and adding a WHERE condition. Developers us...
ResourceModel\Product\Website
This resource model manages the relationship between products and websites in a multi-website Magento installation. Developers use this class to assig...
ResourceModel\Url
This resource model handles database operations for catalog URL rewrites in Magento 2. Developers use this class to retrieve product and category data...
Rss\Category
This model provides RSS feed functionality for Magento catalog categories. Developers use it to retrieve a collection of products from a specific cate...
Rss\Product\NewProducts
This class retrieves a filtered collection of new products for RSS feed generation. Developers use it to get products marked as 'new' based on their n...
Rss\Product\NotifyStock
This class generates RSS feeds for low stock product notifications in Magento 2. Developers use it to retrieve a collection of products that are runni...
Rss\Product\Special
This class retrieves a collection of products that have special prices (discounted products where final price is less than regular price) for RSS feed...
Session
This class manages catalog-specific session data in Magento 2, such as recently viewed products, comparison lists, and other catalog-related temporary...
Template\Filter
This filter class processes template directives in catalog-related content, converting special syntax like {{view}}, {{media}}, and {{store}} into act...
Theme\CustomerData\MessagesProvider
This class provides session messages to the customer data section system in Magento 2, specifically for catalog-related operations. It determines whet...
View\Asset\Image
This class represents a product image asset in Magento 2's catalog system, managing image URLs and file paths for different image types (thumbnail, sm...
View\Asset\Placeholder
This class manages placeholder images for product catalog items when actual product images are missing or unavailable. Developers would use this when...
Widget\RecentlyComparedStorageConfiguration
This class provides configuration settings for the Recently Compared Products widget's frontend storage. Developers use it to retrieve the lifetime du...
Widget\RecentlyViewedStorageConfiguration
This class provides configuration for frontend storage of recently viewed products widgets in Magento 2. Developers use it to retrieve the lifetime se...