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.
- 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.
- UnitOptionViewModel
Represents a view model for a unit option.
- 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.
- 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.