Table of Contents

Namespace Dynamicweb.Ecommerce.ProductCatalog

Classes

AssetCategoryViewModel

Represents a view model for an asset category, grouping related media assets (images, videos, documents) under a named label.

AssetCategoryViewModelSettings

Controls which properties are populated on an AssetCategoryViewModel when it is built by the view model builder.

BomConfigurationViewModel

Represents the complete BOM (Bill of Materials / bundle) configuration for a product that is of type BOM. Acts as the top-level container that holds both the fixed items and the configurable groups of the bundle.

BomGroupViewModel

Represents a configurable BOM (Bill of Materials / bundle) group from which the customer selects one product option.

BomItemViewModel

Represents a fixed item in a BOM (Bill of Materials / bundle) product — a product that is always included in the bundle and cannot be changed or removed by the customer.

CategoryFieldViewModel

Represents a view model for a product category (field group) and its associated field values.

CategoryFieldViewModelSetting

Controls which category fields are populated on a CategoryFieldViewModel when it is built by the view model builder.

DiscountViewModel

Represents a view model for a discount applied to a product or order, used for rendering campaign and pricing information in frontend templates.

DiscountViewModelSettings

Controls how a DiscountViewModel is built, including the currency and pricing context and how the campaign image is populated.

FacetGroupViewModel

Represents a named group of facets used to filter product catalog search results.

FacetOptionViewModel

Represents a single selectable option within a facet filter in the product catalog.

FacetOptionViewModelExtensions

Extension methods for FacetOptionViewModel.

FacetViewModel

Represents a single filterable attribute (facet) within a FacetGroupViewModel, exposing its selectable options and the query-string parameters needed to apply the filter.

FieldGroupViewModel

Represents a product display group and the field values it contains.

FieldOptionValueViewModel

Represents one selected option of a list-type product field (e.g. one entry in a size, colour, or material field).

FieldOptionValueViewModelExtensionMethods

Extension methods for FieldOptionValueViewModel that provide colour detection and conversion.

FieldValueViewModel

Represents a view model for a field value in the product catalog. Used for product fields, product category fields, order fields, order line fields, and product group fields.

FieldValueViewModelExtensionMethods

Extension methods for FieldValueViewModel and collections of it.

FieldValueViewModelSetting

Controls which product fields are populated on a FieldValueViewModel when it is built by the view model builder.

FillableViewModelBase

Base class for all fillable view models in the product catalog. A fillable view model supports selective property loading — only properties that are explicitly requested via the corresponding settings object are populated, giving near-zero performance cost for properties that are not needed.

GroupInfoViewModel

Represents a lightweight reference to a product group, used when only the group identity and navigation metadata are needed.

GroupInfoViewModelExtensions

Extension methods for GroupInfoViewModel and collections of it.

GroupInfoViewModelSettings

Controls which properties are populated on a GroupInfoViewModel when it is built by the view model builder.

ImageExportSettings

Specifies image rendering options for product image export operations.

ManufacturerViewModel

Represents the manufacturer (brand) of a product, exposing contact and branding information for use in frontend templates.

ManufacturerViewModelSettings

Controls which properties are populated on a ManufacturerViewModel when it is built by the view model builder.

MediaViewModel

Represents the information about a media file or URL.

MediaViewModelExtensions

Extension methods for MediaViewModel that resolve the underlying media type and return typed view models for images, files, and videos.

MediaViewModelSettings

Controls which properties are populated on a MediaViewModel when it is built by the view model builder.

NavigationTreeViewNodeExtensions

Extension methods for NavigationTreeNodeViewModel that add ecommerce product group awareness to navigation nodes.

PriceInfoViewModel

A snapshot of all price tiers for a product in the current pricing context — the raw price, the discount amount, the final price after discount, and an optional informative/RRP price.

PriceListViewModel

Represents a single quantity-price tier for a product, enabling volume-discount price tables in Razor templates.

PriceViewModel

Represents a price with and without VAT for products, order lines etc.

PriceViewModelExtensions

Extension methods for PriceViewModel that provide analytics-friendly formatting, VAT label helpers, and conversion from the frontend price model.

PriceViewModelSettings

Controls which pricing context is used when building a PriceViewModel.

ProductCatalogFrontend
ProductCatalogSettings

Holds the configuration read from a product catalog paragraph's backend settings, controlling which products are listed, how they are paginated, filtered, and exported.

ProductGroupViewModel

Represents a fully populated product group, extending GroupInfoViewModel with SEO metadata, custom fields, and media assets.

ProductGroupViewModelSettings

Controls which properties are populated on a ProductGroupViewModel, including media settings and custom field settings.

ProductInfoViewModel

ViewModel representing product information in the e-commerce catalog.

ProductInfoViewModelExtensions

Extension methods for expanding product product information objects into full product view models.

ProductListViewModel

The top-level view model for a product list page — contains the products, the active group, sub-groups, facets, pagination data, and spell-checker suggestions.

ProductListViewModelExtensions

Extension methods for ProductListViewModel that provide facet URL helpers and group navigation fallback logic.

ProductListViewModelSettings

Controls which properties are populated on a ProductListViewModel, including nested settings for products, groups, facets, media, and pagination.

ProductViewModel

The product viewmodel represents a product and its data. The model covers basic things like Name, SKU, Description and the price.

The model also contains information about related product data like product relations, units, quantity prices, stock levels, assets, attributes and much more.

Most of the data is only loaded if and when used in a template or exposed in a web-api. The more of the properties that are used, the more is loaded and that will have an impact on load performance. Each description of properties in this documentation contains information about a potential performance overhead.

When rendering a list of products, the list size (i.e. 10 vs. 30 vs. 100 products on a list) can affect the performance of a product list page since more data needs to be loaded.

WARNING: If multiple of the properties with performance overhead are used on the product list and many products are listed, a lot of data will be loaded and affect performance. Limit the use of the properties with performance overhead on lists or use the web-api to load additional information on demand when needed.

ProductViewModelExtensions

Extension methods for ProductViewModel providing asset helpers, variant utilities, price lookups, BOM configuration, related products, cart status checks, and product link generation.

ProductViewModelSettings

Configuration of how a product viewmodel should be created.

ProductViewModelsExporter

Exports a ProductListViewModel or a single ProductViewModel to a ZIP archive containing the product data file (JSON, XML, or CSV) and any associated media assets.

RelatedGroupViewModel

Represents a view model for a related group of products.

RelatedGroupViewModelExtensions

The class represents shared member providing extensions for the RelatedGroupViewModel.

StockUnitViewModel

Represents a view model for stock unit information.

StockUnitViewModelSettings
UnitOptionViewModel

Represents a view model for a unit option.

UnitOptionViewModelSettings
VariantGroupViewModel

Represents a view model for a variant group.

VariantInfoViewModel

Represents the view model for displaying product variant information. This model is used to build a hierarchical tree of variant options and to calculate pricing and stock levels.

VariantInfoViewModelSettings
VariantOptionViewModel

Represents a view model for a variant option in the product catalog.

ViewModelFactory

Handles creation of all ecommerce viewmodels.

ViewSettingsBaseCurrencyBase<T>

Base configuration for views that require a language and a currency code to be contructed.

ViewSettingsBase<T>

Configuration of which properties of a fillable viewmodel that should be loaded/filled.

ViewSettingsLanguageBase<T>

Base configuration for views that require a language to be contructed.

Enums

ExportFormat

Represents the export format for product feeds.

PriceVatMode

Defines the VAT label states for a price.

To top