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_9cf5fee772194417ab7b9981585d8dd9.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

Naja Borre

Bioderma Sensibio H20 Micelle Solution, 500 ml.
Bioderma Sensibio H20 Micelle Solution, 500 ml.
-34%

Bioderma Sensibio H20 Micelle Solution, 500 ml.

149,00 kr.
99,00 kr.
InStock
CLEAN Apple Blossom EDP, 30 ml.
CLEAN Apple Blossom EDP, 30 ml.
-50%

CLEAN Apple Blossom EDP, 30 ml.

400,00 kr.
199,00 kr.
InStock
HH Simonsen Miracle Spray, 250 ml
HH Simonsen Miracle Spray, 250 ml
-18%

HH Simonsen Miracle Spray, 250 ml

199,00 kr.
164,00 kr.
InStock
Milk_Shake Glistening Argan Oil, 50 ml.
Milk_Shake Glistening Argan Oil, 50 ml.
-28%

Milk_Shake Glistening Argan Oil, 50 ml.

239,00 kr.
171,00 kr.
InStock
Gillian Jones Bordspejl med LED x10 - Kobber
Gillian Jones Bordspejl med LED x10 - Kobber
-40%

Gillian Jones Bordspejl med LED x10 - Kobber

399,00 kr.
239,40 kr.
InStock
Milk_Shake Silver Shine Conditioner, 250 ml.
Milk_Shake Silver Shine Conditioner, 250 ml.
-53%

Milk_Shake Silver Shine Conditioner, 250 ml.

209,00 kr.
98,00 kr.
InStock
Milk_Shake Moisture Plus Conditioner, 250 ml.
Milk_Shake Moisture Plus Conditioner, 250 ml.

Milk_Shake Moisture Plus Conditioner, 250 ml.

239,00 kr.
InStock
Batiste Dry Shampoo Cherry, 200 ml.
Batiste Dry Shampoo Cherry, 200 ml.
-50%

Batiste Dry Shampoo Cherry, 200 ml.

49,00 kr.
24,50 kr.
InStock
Sandstone Hide & Blend concealer, 7,5 ml. - N25
Sandstone Hide & Blend concealer, 7,5 ml. - N25
-40%

Sandstone Hide & Blend concealer, 7,5 ml. - N25

149,00 kr.
89,40 kr.
InStock
Smør Dig Ind Faktor 20 SDI Læbepomade, 5 g.
Smør Dig Ind Faktor 20 SDI Læbepomade, 5 g.
-35%

Smør Dig Ind Faktor 20 SDI Læbepomade, 5 g.

69,00 kr.
44,85 kr.
InStock
HH Simonsen Compact Dryer Black
HH Simonsen Compact Dryer Black
-30%

HH Simonsen Compact Dryer Black

999,00 kr.
699,00 kr.
InStock
Baby Foot Cleansing Foot Soak, 250 g.
Baby Foot Cleansing Foot Soak, 250 g.
-34%

Baby Foot Cleansing Foot Soak, 250 g.

119,00 kr.
79,00 kr.
InStock
Technic Brightening Setting Powder, 10 g.
Technic Brightening Setting Powder, 10 g.
-40%

Technic Brightening Setting Powder, 10 g.

50,00 kr.
30,00 kr.
InStock
Wonderskin Wonder Blading Lip Stain Kit - FIRST KISS
Wonderskin Wonder Blading Lip Stain Kit - FIRST KISS
-8%

Wonderskin Wonder Blading Lip Stain Kit - FIRST KISS

289,00 kr.
267,00 kr.
InStock
Sandstone Intense Care Lipstick, 3,5 ml. - 41 First Love
Sandstone Intense Care Lipstick, 3,5 ml. - 41 First Love
-40%

Sandstone Intense Care Lipstick, 3,5 ml. - 41 First Love

149,00 kr.
89,40 kr.
InStock
Smør Dig Ind Solfaktorspray SPF 50, 200 ml.
Smør Dig Ind Solfaktorspray SPF 50, 200 ml.
-29%

Smør Dig Ind Solfaktorspray SPF 50, 200 ml.

329,00 kr.
233,00 kr.
InStock
16 ud af 16 produkter