Error executing template "Designs/Core/eCom/ProductCatalog/core-product-details.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at Core.Extensions.ProductViewModelExtensions.GetVariantCombinationsInAssortment(ProductViewModel productViewModel, Int32 userId) at Core.ViewModels.Ecommerce.ProductViewModel.get_ShowAddToCartForm() at CompiledRazorTemplates.Dynamic.RazorEngine_215d8c134f3c48a189007502c018e97c.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits ViewModelTemplate<Core.ViewModels.Ecommerce.ProductViewModel> 2 @using Core.Extensions 3 @using Dynamicweb.Rendering 4 @using Core.Services 5 @using Core.ViewModels.UI 6 7 <product-details class="core-product core-product-details" product-id="@Model.Id" variant-id="@Model.VariantId"> 8 <div class="row py-5"> 9 <div class="col-12 mb-5"> 10 <div class="row"> 11 <div class="col-12 col-md-6"> 12 @RenderingService.Instance.PartialView("/eCom/ProductCatalog/partials/core-product-details__images.cshtml", Model) 13 </div> 14 15 <div class="col-12 col-md-6 offset-lg-1 col-lg-5"> 16 17 <div> 18 19 <div class="small"> 20 21 @if (string.IsNullOrEmpty(Model.Number) == false) 22 { 23 <p class="text-muted">@Translate("Varenr.") @Model.Number</p> 24 } 25 26 @(new HeadingViewModel() 27 { 28 Text = Model.Name, 29 NodeName = HeadingNodeName.H1, 30 DisplayType = HeadingDisplayType.H2 31 }) 32 33 </div> 34 35 <div class="d-flex flex-column gap-3"> 36 37 <div class="small d-flex flex-column gap-3"> 38 @Model.LongDescription 39 40 @RenderingService.Instance.PartialView("/eCom/ProductCatalog/partials/core-product-details__specifications.cshtml", Model) 41 42 @if (Model.ShowStock == true) 43 { 44 @Model.RenderedHtml.Stock 45 } 46 47 @if (Model.ShowPrice == true) 48 { 49 <div class="core-product__price"> 50 @(new HeadingViewModel() 51 { 52 Text = Model.Price.Render(), 53 NodeName = HeadingNodeName.P, 54 DisplayType = HeadingDisplayType.H3 55 }) 56 </div> 57 } 58 </div> 59 60 @if (Model.ShowAddToCartForm == true || Model.ShowVariantSelector == true) 61 { 62 @Model.RenderedHtml.AddToCart 63 } 64 </div> 65 </div> 66 67 </div> 68 </div> 69 </div> 70 71 <div class="col-12 mb-5"> 72 @RenderingService.Instance.PartialView("/eCom/ProductCatalog/partials/core-product-details__related-products.cshtml", Model) 73 </div> 74 75 </div> 76 </product-details> 77 @AssetService.Instance.GetJavascript("03-ecommerce/product-details.mjs") 78 79 <script type="application/ld+json"> 80 81 @{ 82 Uri uri = Dynamicweb.Context.Current.Request.Url; 83 string domain = uri.GetLeftPart(UriPartial.Authority); 84 85 var jsonLd = new 86 { 87 context = "https://schema.org/", 88 type = "Product", 89 name = Model.Name, 90 image = domain + Model.DefaultImage?.Value, 91 description = Model.LongDescription ?? Model.ShortDescription, 92 sku = Model.Number, 93 url = Model.Link, 94 offers = new 95 { 96 type = "Offer", 97 priceCurrency = Model.Price.CurrencyCode, 98 price = Model.Price.Price, 99 availability = "https://schema.org/" + (Model.IsInStock ? "InStock" : "OutOfStock"), 100 url = domain + Model.Link 101 } 102 }; 103 var jsonString = System.Text.Json.JsonSerializer.Serialize(jsonLd); 104 } 105 @Raw(jsonString) 106 107 </script> 108