Error executing template "Designs/Swift/Paragraph/Swift_ProductListGroupPoster.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_88e93fe859f14ecbbb59690d95193dce.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.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 { 27 string layout = Model.Item.GetRawValueString("Layout", "align-middle-center-text-center"); 28 string alignment = ""; 29 30 string searchParameter = Dynamicweb.Context.Current.Request.GetString("q"); 31 32 bool hideTitle = Model.Item.GetBoolean("HideGroupTitle"); 33 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "display-4"); 34 35 string groupName = productList?.Group?.Name != null ? productList.Group.Name : ""; 36 string headerName = searchParameter != "" ? Translate("Search results for") + ": " + searchParameter : groupName; 37 38 bool hideDescription = Model.Item.GetBoolean("HideGroupDescription"); 39 string groupDescription = productList?.Group?.Description != null ? productList.Group.Description : ""; 40 string descriptionFontSize = Model.Item.GetRawValueString("DescriptionFontSize", "fs-6"); 41 42 string groupImage = productList?.Group?.Assets != null ? productList.Group.Assets.FirstOrDefault(x => x.Name == "LargeImage").Value : ""; 43 if (groupImage.StartsWith("/") && !groupImage.StartsWith("/Files", StringComparison.OrdinalIgnoreCase)) 44 { 45 groupImage = $"/Files{groupImage}"; 46 } 47 48 string posterHeight = Model.Item.GetRawValueString("PosterHeight", ""); 49 posterHeight = posterHeight == "small" ? "min-vh-25" : posterHeight; 50 posterHeight = posterHeight == "medium" ? "min-vh-50" : posterHeight; 51 posterHeight = posterHeight == "large" ? "min-vh-75" : posterHeight; 52 53 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 54 contentPadding = contentPadding == "none" ? "p-3 px-xl-3 py-xl-4" : contentPadding; 55 contentPadding = contentPadding == "small" ? "p-3 p-xl-4" : contentPadding; 56 contentPadding = contentPadding == "large" ? "p-4 p-xl-5" : contentPadding; 57 58 string maxWidth = Model.Item.GetRawValueString("TextReadability", "max-width-on"); 59 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 60 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 61 62 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 63 64 if (!string.IsNullOrEmpty(groupImage)) 65 { 66 var parms = new Dictionary<string, object>(); 67 parms.Add("cssClass", "h-100 w-100"); 68 parms.Add("columns", Model.GridRowColumnCount); 69 70 parms.Add("fullwidth", true); 71 72 switch (layout) 73 { 74 case "align-top-left-text-left": 75 alignment = "text-start justify-content-start align-items-start"; 76 break; 77 case "align-top-center-text-center": 78 alignment = "text-center justify-content-center align-items-start"; 79 break; 80 case "align-top-right-text-right": 81 alignment = "text-end justify-content-end align-items-start"; 82 break; 83 case "align-middle-left-text-left": 84 alignment = "text-start justify-content-start align-items-center"; 85 break; 86 case "align-middle-center-text-center": 87 alignment = "text-center justify-content-center align-items-center"; 88 break; 89 case "align-middle-right-text-right": 90 alignment = "text-end justify-content-end align-items-center"; 91 break; 92 case "align-bottom-left-text-left": 93 alignment = "text-start justify-content-start align-items-end"; 94 break; 95 case "align-bottom-center-text-center": 96 alignment = "text-center justify-content-center align-items-end"; 97 break; 98 case "align-bottom-right-text-right": 99 alignment = "text-end justify-content-end align-items-end"; 100 break; 101 } 102 103 <div class="position-relative h-100@(theme) @(posterHeight) item_@Model.Item.SystemName.ToLower()"> 104 @if (!string.IsNullOrEmpty(groupImage)) 105 { 106 string imageFilter = Model.Item.GetRawValueString("ImageFilter", ""); 107 imageFilter = imageFilter == "no-filter" ? "" : imageFilter; 108 imageFilter = imageFilter == "filter" ? " image-filter" : imageFilter; 109 110 <div class="position-absolute top-0 bottom-0 end-0 start-0@(imageFilter)"> 111 @RenderPartial("Components/Image.cshtml", new FileViewModel { Path = groupImage }, parms) 112 </div> 113 } 114 115 @if (!hideTitle || !hideDescription) 116 { 117 <div class="container-xl h-100 @(contentPadding)"> 118 <div class="h-100 w-100 position-relative d-flex @(alignment)"> 119 <div class="@(maxWidth)"> 120 @if (!hideTitle) 121 { 122 <h1 class="@titleFontSize">@headerName</h1> 123 } 124 125 @if (!hideDescription && !string.IsNullOrEmpty(groupDescription)) 126 { 127 <div class="@descriptionFontSize mb-0-last-child"> 128 @groupDescription 129 </div> 130 } 131 </div> 132 </div> 133 </div> 134 } 135 136 </div> 137 } 138 else if (Pageview.IsVisualEditorMode) 139 { 140 <div class="alert alert-dark m-0" role="alert"> 141 <span>@Translate("Product group poster: The poster paragraph will be shown here, if any")</span> 142 </div> 143 } 144 } 145 else if (Pageview.IsVisualEditorMode) 146 { 147 <div class="alert alert-dark m-0" role="alert"> 148 <span>@Translate("Product group poster: The poster paragraph will be shown here, if any")</span> 149 </div> 150 } 151
Nuxe Huile Prodigieuse Florale, 30 ml
Nuxe Huile Prodigieuse Florale, 30 ml
-24%

Nuxe Huile Prodigieuse Florale, 30 ml

145,00 kr.
110,00 kr.
InStock
Vita Liberata Sunkissed Glow Tanning Drops Vitamin C, 30 ml.
Vita Liberata Sunkissed Glow Tanning Drops Vitamin C, 30 ml.
-35%

Vita Liberata Sunkissed Glow Tanning Drops Vitamin C, 30 ml.

299,00 kr.
194,00 kr. InStock
Murad Retinol Youth Renewal Serum, 30 ml.
Murad Retinol Youth Renewal Serum, 30 ml.
-43%

Murad Retinol Youth Renewal Serum, 30 ml.

820,00 kr.
470,00 kr.
InStock
Mixsoon Bean Essence, 50 ml.
Mixsoon Bean Essence, 50 ml.
-40%

Mixsoon Bean Essence, 50 ml.

249,00 kr.
149,00 kr. InStock
Nuxe Shimmering Gold Dry Oil Huile Prodigieuse, 100 ml.
Nuxe Shimmering Gold Dry Oil Huile Prodigieuse, 100 ml.
-35%

Nuxe Shimmering Gold Dry Oil Huile Prodigieuse, 100 ml.

450,00 kr.
292,00 kr.
InStock
Jurlique Lip Care Balm, 15 ml. (Datovare)
Jurlique Lip Care Balm, 15 ml. (Datovare)
-19%

Jurlique Lip Care Balm, 15 ml. (Datovare)

185,00 kr.
149,00 kr.
InStock
Technic Bottled Glow - Sunset Bronze. 50 ml.
Technic Bottled Glow - Sunset Bronze. 50 ml.
-43%

Technic Bottled Glow - Sunset Bronze. 50 ml.

74,00 kr.
42,00 kr.
InStock
Jurlique Rare Rose Face Oil, 30 ml.
Jurlique Rare Rose Face Oil, 30  ml.
-35%

Jurlique Rare Rose Face Oil, 30 ml.

360,00 kr.
234,00 kr.
InStock
Filorga Hydra-Hyal Serum Gift Set
Filorga Hydra-Hyal Serum Gift Set
-33%

Filorga Hydra-Hyal Serum Gift Set

549,00 kr.
369,00 kr.
InStock
Filorga Hydra-Filler Mask, 1 stk.
Filorga Hydra-Filler Mask, 1 stk.
-36%

Filorga Hydra-Filler Mask, 1 stk.

115,00 kr.
74,00 kr.
InStock
Nuxe Reve De Miel Body Scrub, 175 ml.
Nuxe Reve De Miel Body Scrub, 175 ml.
-39%

Nuxe Reve De Miel Body Scrub, 175 ml.

255,00 kr.
155,00 kr.
InStock
Beauty Of Joseon Apricot Blossom Peeling Gel, 100 ml.
Beauty Of Joseon Apricot Blossom Peeling Gel, 100 ml.
-26%

Beauty Of Joseon Apricot Blossom Peeling Gel, 100 ml.

129,00 kr.
95,00 kr. InStock
Mixsoon Bean Cleansing Oil, 195 ml.
Mixsoon Bean Cleansing Oil, 195 ml.
-10%

Mixsoon Bean Cleansing Oil, 195 ml.

199,00 kr.
180,00 kr.
InStock
Mixsoon Soybean Milk Pad, 10 pcs.
Mixsoon Soybean Milk Pad, 10 pcs.
-40%

Mixsoon Soybean Milk Pad, 10 pcs.

179,00 kr.
107,00 kr. InStock
Some By Mi V10 Hyal Lip Sun protection Spf15 Neutral, 7 ml.
Some By Mi V10 Hyal Lip Sun protection Spf15 Neutral, 7 ml.
-25%

Some By Mi V10 Hyal Lip Sun protection Spf15 Neutral, 7 ml.

100,00 kr.
75,00 kr.
InStock
Filorga NCEF Shot Gift Set
Filorga NCEF Shot Gift Set
-36%

Filorga NCEF Shot Gift Set

699,00 kr.
449,00 kr.
InStock
16 ud af 16 produkter