Error executing template "Designs/Swift/Paragraph/Swift_ProductListGroupImage.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_53c3f5be3e4446229b9c9ef45f912f5b.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) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
2 @using Dynamicweb.Frontend.Navigation
3 @using Dynamicweb.Ecommerce.ProductCatalog
4 @using Dynamicweb.Environment
5 @using Dynamicweb.Frontend
6
7 @{
8 ProductListViewModel productList = null;
9 if (Dynamicweb.Context.Current.Items.Contains("ProductList"))
10 {
11 productList = (ProductListViewModel)Dynamicweb.Context.Current.Items["ProductList"];
12 }
13 else if (Pageview.Page.Item["DummyProductGroup"] != null && Pageview.IsVisualEditorMode)
14 {
15 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page);
16 ProductListViewModel groupList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel();
17
18 if (groupList?.Products is object)
19 {
20 productList = groupList;
21 }
22 }
23 }
24
25 @if (productList is object) {
26 string groupImage = productList?.Group?.Assets != null ? productList.Group.Assets.FirstOrDefault(x => x.Name == "LargeImage").Value : string.Empty;
27 if (groupImage.StartsWith("/") && !groupImage.StartsWith("/Files", StringComparison.OrdinalIgnoreCase))
28 {
29 groupImage = $"/Files{groupImage}";
30 }
31
32 string groupName = productList?.Group?.Name != null ? productList.Group.Name : string.Empty;
33
34 string ratio = Model.Item.GetRawValueString("ImageAspectRatio", string.Empty);
35 ratio = ratio != "0" ? ratio : string.Empty;
36 string ratioCssClass = ratio != string.Empty && ratio != "fill" ? " ratio" : string.Empty;
37 string ratioVariable = ratio != string.Empty ? "style=\"--bs-aspect-ratio: " + ratio + "\"" : string.Empty;
38 string fillClass = ratio == "fill" ? " h-100" : "";
39
40 var parms = new Dictionary<string, object>();
41 parms.Add("loading", "lazy");
42 parms.Add("columns", Model.GridRowColumnCount);
43
44 if (ratio == "fill") {
45 parms.Add("cssClass", "w-100 h-100");
46 }
47 else
48 {
49 parms.Add("cssClass", "mw-100 mh-100");
50 }
51
52 parms.Add("style", string.Empty);
53 parms.Add("alt", groupName);
54
55 if (!string.IsNullOrEmpty(groupImage)) {
56 <div class="item_@Model.Item.SystemName.ToLower()">
57 <figure class="m-0@(ratioCssClass)@(fillClass)" @ratioVariable>
58 @RenderPartial("Components/Image.cshtml", new FileViewModel { Path = groupImage }, parms)
59 </figure>
60 </div>
61 } else if (Pageview.IsVisualEditorMode) {
62 <div class="alert alert-dark m-0" role="alert">
63 <span>@Translate("Product list group image: The image will be shown here, if any")</span>
64 </div>
65 }
66 } else if (Pageview.IsVisualEditorMode)
67 {
68 <div class="alert alert-dark m-0" role="alert">
69 <span>@Translate("Product list group image: The image will be shown here, if any")</span>
70 </div>
71 }
72
73