Error executing template "Designs/Swift-v2/Paragraph/CustomIcons.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_3c4ef8e6283b4225818a28c10769bcaa.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 Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
2 @using Dynamicweb.Ecommerce.Products
3 @using Dynamicweb.Ecommerce.ProductCatalog
4 @using Dynamicweb.Frontend
5
6 @{
7 ProductViewModel product = null;
8 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails"))
9 {
10 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"];
11 }
12 else if (Pageview.Page.Item["DummyProduct"] != null && Pageview.IsVisualEditorMode)
13 {
14 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page);
15 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel();
16
17 if (productList?.Products is object)
18 {
19 product = productList.Products[0];
20 }
21 }
22 }
23
24 @if (product is object)
25 {
26
27 var iconDetails = Dynamicweb.Ecommerce.Services.Details.GetDetails(product.LanguageId, product.Id, product.VariantId, "");
28
29 var groupedIcons = iconDetails
30 .Where(i => i.Value.Contains("AppIcons") || i.Value.Contains("PropIcons"))
31 .GroupBy(i => i.Value.Contains("AppIcons") ? "AppIcons" : "PropIcons")
32 .OrderBy(g => g.Key != "AppIcons");
33
34 <div class="d-flex flex-column">
35 @foreach(var iconGroup in groupedIcons)
36 {
37 <div class="d-flex flex-wrap mb-2">
38 @foreach(var icon in iconGroup)
39 {
40 <img class="product-icon_image" src="@($"Admin/Public/GetImage.ashx?width=200&height=180&crop=5&Compression=75&DoNotUpscale=true&FillCanvas=true&image={icon.Value}")" />
41 }
42 </div>
43 }
44 </div>
45 }
46 else if (Pageview.IsVisualEditorMode)
47 {
48 <div class="alert alert-dark m-0">@Translate("The details icons will be shown here, if any")</div>
49 }