Catalog Module

Api\AttributeSetFinderInterface

Interface

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

Interface

This interface defines the service contract for managing product attribute sets in Magento 2. Developers use it to programmatically create new attribu...

Api\BasePriceStorageInterface

Interface

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

Interface

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\CategoryLinkManagementInterface

Interface

This interface defines methods for managing the relationship between products and categories in Magento 2. Developers use it to retrieve all products...

Api\CategoryListDeleteBySkuInterface

Interface

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

Interface

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

Interface

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\CostStorageInterface

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

This interface defines the contract for search results containing category-product relationships. Developers use this when retrieving lists of product...

Api\Data\CategorySearchResultsInterface

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

This interface defines the contract for product attributes in Magento 2's catalog system. It extends EavAttributeInterface and provides constants for...

Api\Data\ProductAttributeMediaGalleryEntryInterface

Interface

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

Interface

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

Interface

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

Interface

This interface defines the structure for product custom options in Magento 2, allowing developers to create customizable product configurations like t...

Api\Data\ProductCustomOptionTypeInterface

Interface

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

Interface

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

Interface

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

Interface

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

Interface

This interface defines the structure for product link attributes in Magento 2, which describe the properties of relationships between linked products...

Api\Data\ProductLinkInterface

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

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

Interface

This interface defines the contract for product type data objects in Magento 2, representing different product types like simple, configurable, bundle...

Api\Data\ProductWebsiteLinkInterface

Interface

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

Interface

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

Interface

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\ProductAttributeIsFilterableManagementInterface

Interface

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

Interface

This interface defines the contract for managing product attributes within attribute sets in Magento 2. Developers use this to programmatically assign...

Api\ProductAttributeMediaGalleryManagementInterface

Interface

This interface defines the contract for managing product media gallery images through the API. Developers use this to programmatically add, update, re...

Api\ProductAttributeOptionManagementInterface

Interface

This interface defines the contract for managing product attribute options in Magento 2. Developers use this to programmatically retrieve, add, or del...

Api\ProductAttributeOptionUpdateInterface

Interface

This interface defines a contract for updating existing product attribute options in Magento 2. Developers would use implementations of this interface...

Api\ProductAttributeTypesListInterface

Interface

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\ProductCustomOptionTypeListInterface

Interface

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

Interface

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\ProductLinkTypeListInterface

Interface

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

Interface

This interface defines a contract for managing product-level operations in Magento 2, specifically for retrieving product counts. Developers use this...

Api\ProductMediaAttributeManagementInterface

Interface

This interface defines a contract for retrieving media image attributes associated with a specific product attribute set. Developers use this when the...

Api\ProductRenderListInterface

Interface

This interface defines a contract for retrieving comprehensive product render information including prices, names, stock status, and store details. De...

Api\ProductTierPriceManagementInterface

Interface

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

Interface

This interface defines a contract for retrieving all available product types in Magento 2 (such as simple, configurable, bundle, downloadable, etc.)....

Api\ScopedProductTierPriceManagementInterface

Interface

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

Interface

This interface defines the API contract for managing special prices on products in Magento 2. Developers use this to programmatically retrieve, update...

Api\SpecialPriceStorageInterface

Interface

This interface defines a specialized API for managing special prices (promotional/temporary prices) for products in Magento 2. Developers use this to...

Api\TierPriceStorageInterface

Interface

This interface defines operations for managing tier pricing (volume discounts) for products in Magento 2. Developers use it to programmatically retrie...

Helper\Product\Configuration\ConfigurationInterface

Interface

This interface defines the contract for helpers that retrieve and format product configuration options (like custom options, configurable product sele...

Model\Attribute\LockValidatorInterface

Interface

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

Interface

This interface defines constants for product price option types in Magento 2, specifically 'fixed' and 'percent' values. Developers use this interface...

Model\EntityInterface

Interface

This interface defines a contract for catalog entities that require a unique entity identifier. Developers implement this interface on catalog-related...

Model\FrontendStorageConfigurationInterface

Interface

This interface defines a contract for providing configuration data to frontend JavaScript storage mechanisms in Magento 2 catalog functionality. Devel...

Model\Layer\AvailabilityFlagInterface

Interface

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

Interface

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

Interface

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\FilterInterface

Interface

This interface defines the contract for layered navigation filters in Magento 2 catalog. Developers implement this interface when creating custom prod...

Model\Layer\FilterableAttributeListInterface

Interface

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

Interface

This interface defines a contract for retrieving product collections based on a category in Magento's layered navigation system. Developers implement...

Model\Layer\StateKeyInterface

Interface

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

Interface

This interface defines a contract for locating and accessing product-related context information in Magento 2. Developers use implementations of this...

Model\ProductIdLocatorInterface

Interface

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

Interface

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

Interface

This interface defines a contract for converters that transform Magento Product objects into array representations. Developers implement this interfac...

Model\ProductLink\Data\ListCriteriaInterface

Interface

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

Interface

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

Interface

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

Interface

This interface defines methods for converting product configuration data between two formats: ProductOptionInterface objects and buy request DataObjec...

Model\ProductOptions\ConfigInterface

Interface

This interface defines a contract for accessing product option configurations in Magento 2. Developers implement this interface to retrieve specific p...

Model\ProductTypes\ConfigInterface

Interface

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

Interface

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\CatalogPriceInterface

Interface

This interface defines methods for retrieving product catalog prices for external catalogs or third-party integrations. Developers implement this inte...

Model\Product\Condition\ConditionInterface

Interface

This interface defines a contract for applying filtering conditions to product collections in Magento 2. Developers implement this interface when crea...

Model\Product\CopyConstructorInterface

Interface

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\ImagesConfigFactoryInterface

Interface

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

Interface

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

Interface

This interface defines a contract for classes that need to modify product prices in Magento 2. Developers implement this interface when creating custo...

Model\ResourceModel\Product\BaseSelectProcessorInterface

Interface

This interface defines a contract for processors that modify database SELECT queries for product collections. Developers implement this interface to a...

Model\ResourceModel\Product\LinkedProductSelectBuilderInterface

Interface

This interface defines a contract for building database SELECT queries to retrieve linked product information with minimal price data. Developers impl...