Introduction
Development
Core
Entity Definitions
The ProductCarouselWidgetEntityDefinition extends the WidgetEntityDefinition. The WidgetEntityDefinition
relies further on the extended AbstractEntityDefinition, AbstractActivatableEntityDefinition, AbstractCatalogableEntityDefinition, AbstractCmsEntityDefinition and AbstractFilterableEntityDefinition:

There are 2 properties, defined here:
Property | Description |
---|---|
products |
stores the set of products that are to be displayed in the carousel widget |
categories |
stores the set of categories to get the products from and display them in the carousel widget |
The SimpleCarouselWidgetEntityDefinition extends the WidgetEntityDefinition. The WidgetEntityDefinition
relies further on the extended AbstractEntityDefinition, AbstractActivatableEntityDefinition, AbstractCatalogableEntityDefinition, AbstractCmsEntityDefinition and AbstractFilterableEntityDefinition:

The only extra defined getter-setter here is via the widgets property. When the information is retrieved, a list of widgets for this carousel is returned.
Spring Data JPA Repositories
The SimpleCarouselWidgetRepository extends the ActivatableRepository and the BaseEntityRepository. It is the corresponding Spring Data JPA repository for the SimpleCarouselWidgetEntityDefinition
:

Facade
Configurers
The ProductCarouselWidgetMapperFactoryConfigurer implements the MapperFactoryConfigurer:

The registered conversions, within the configurer, are:
-
from
ProductCarouselWidgetEntityDefinition
toProductCarouselWidgetDtoDefinition
, -
from
CategoryEntityDefinition
toProductCarouselCategoryDtoDefinition
, -
from
ProductEntityDefinition
toProductCarouselProductDtoDefinition
and -
from
ProductEntityDefinition
toProductCategoriesDtoDefinition
Apart from the last one, all of the conversions are done via the byDefault()
method.
The SimpleCarouselWidgetMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the SimpleCarouselWidgetEntityDefinition
to SimpleCarouselWidgetDtoDefinition
.

The conversion is done via the byDefault()
method.
Dto definitions
The ProductCarouselCategoryDtoDefinition extends the AbstractCategoryDtoDefinition, the CategoryBasicDtoDefinition, the CategoryUrlDtoDefinition and the CategorySupercategoriesDtoDefinition:

This is the corresponding Dto object for the CategoryEntityDefinition
.
The ProductCarouselProductDtoDefinition extends the AbstractProductDtoDefinition, the ProductBasicDtoDefinition, the ProductUrlDtoDefinition, the ProductPriceDtoDefinition, the ProductCategoriesDtoDefinition and the ProductPrimaryImageDtoDefinition:

This is the corresponding Dto object for the ProductEntityDefinition
.
The ProductCarouselWidgetDtoDefinition extends the WidgetDtoDefinition, going further to the AbstractEntityDtoDefinition:

This is the corresponding Dto object for the ProductCarouselWidgetEntityDefinition
.
The SimpleCarouselWidgetDtoDefinition extends the WidgetDtoDefinition, going further to the AbstractEntityDtoDefinition:

This is the corresponding Dto object for the SimpleCarouselWidgetEntityDefinition
.
Storefront
The ProductCarouselWidgetController extends the AbstractWidgetController:
