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_558f0b2a662b4e8482974eb1fd28dc93.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
ZarkoPerfume Buddha-Wood EDP, 100 ml.
ZarkoPerfume Buddha-Wood EDP, 100 ml.
-16%

ZarkoPerfume Buddha-Wood EDP, 100 ml.

890,00 kr.
750,00 kr.
InStock
American Crew Fiber Cream, 100 ml.
American Crew Fiber Cream, 100 ml.
-60%

American Crew Fiber Cream, 100 ml.

199,00 kr.
79,00 kr.
InStock
American Crew Fiber Voks, 85 gr.
American Crew Fiber Voks, 85 gr.
-60%

American Crew Fiber Voks, 85 gr.

245,00 kr.
99,00 kr.
InStock
Balmain Texturizing Volume Spray, 200 ml.
Balmain Texturizing Volume Spray, 200 ml.
-35%

Balmain Texturizing Volume Spray, 200 ml.

379,00 kr.
246,00 kr. InStock
Versace Eros Pour Homme Parfum Natural Spray, 100 ml.
Versace Eros Pour Homme Parfum Natural Spray, 100 ml.
-40%

Versace Eros Pour Homme Parfum Natural Spray, 100 ml.

1030,00 kr.
615,00 kr.
InStock
American Crew Classic New Pomade, 50 g.
American Crew Classic New Pomade, 50 g.
-50%

American Crew Classic New Pomade, 50 g.

130,00 kr.
65,00 kr. InStock
Beauté Pacifique Bodycare Gaveæske
Beauté Pacifique Bodycare Gaveæske
-46%

Beauté Pacifique Bodycare Gaveæske

438,00 kr.
237,00 kr.
InStock
Hollister Wave For Him EDT, 50 ml.
Hollister Wave For Him EDT, 50 ml.
-24%

Hollister Wave For Him EDT, 50 ml.

300,00 kr.
228,00 kr.
InStock
Dolce & Gabbana Light Blue EdT, 50 ml.
Dolce & Gabbana Light Blue EdT, 50 ml.
-41%

Dolce & Gabbana Light Blue EdT, 50 ml.

715,00 kr.
419,00 kr.
InStock
Dry Shampoo - Gift Box med Wonder Brush
Dry Shampoo - Gift Box med Wonder Brush
-32%

Dry Shampoo - Gift Box med Wonder Brush

299,00 kr.
202,00 kr.
InStock
American Crew Classic 3in1 Chamomile & Pine, 250 ml.
American Crew Classic 3in1 Chamomile & Pine, 250 ml.
-58%

American Crew Classic 3in1 Chamomile & Pine, 250 ml.

190,00 kr.
79,00 kr.
InStock
Paco Rabanne 1 Million EdP, 200 ml.
Paco Rabanne 1 Million EdP, 200 ml.
-34%

Paco Rabanne 1 Million EdP, 200 ml.

1400,00 kr.
931,00 kr.
InStock
Mauboussin Star For Men EDP, 90 ml.
Mauboussin Star For Men EDP, 90 ml.
-50%

Mauboussin Star For Men EDP, 90 ml.

540,00 kr.
270,00 kr. InStock
Kevin Murphy NIGHT.RIDER, 100 g.
Kevin Murphy NIGHT.RIDER, 100 g.

Kevin Murphy NIGHT.RIDER, 100 g.

238,00 kr. InStock
Clarins Men Holiday Energizing Essentials Gaveæske - Værdi 520,-
Clarins Men Holiday Energizing Essentials Gaveæske - Værdi 520,-
-22%

Clarins Men Holiday Energizing Essentials Gaveæske - Værdi 520,-

450,00 kr.
349,00 kr.
InStock
Versace Eros Pour Homme Eau de Parfum, 200 ml.
Versace Eros Pour Homme Eau de Parfum, 200 ml.
-26%

Versace Eros Pour Homme Eau de Parfum, 200 ml.

1195,00 kr.
888,00 kr.
InStock
Amouage Honour Man EdP, 100 ml.
Amouage Honour Man EdP, 100 ml.
-42%

Amouage Honour Man EdP, 100 ml.

2750,00 kr.
1.603,00 kr.
InStock
Burberry Toilettaske Grå
Burberry Toilettaske Grå
-72%

Burberry Toilettaske Grå

699,00 kr.
199,00 kr.
InStock
Dry Texture Spray - Gift Box med Wonder Brush
Dry Texture Spray - Gift Box med Wonder Brush

Dry Texture Spray - Gift Box med Wonder Brush

299,00 kr. InStock
Mauboussin 2020 Prestige Set Private Club, 100 ml.
Mauboussin 2020 Prestige Set Private Club, 100 ml.
-59%

Mauboussin 2020 Prestige Set Private Club, 100 ml.

540,00 kr.
221,00 kr.
InStock
Mauboussin Pour Lui In Black Set: EDP 100 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch
Mauboussin Pour Lui In Black Set: EDP 100 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch
-66%

Mauboussin Pour Lui In Black Set: EDP 100 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch

700,00 kr.
235,00 kr.
InStock
Mauboussin Private Club Set: EDP 100 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch
Mauboussin Private Club Set: EDP 100 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch
-66%

Mauboussin Private Club Set: EDP 100 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch

700,00 kr.
235,00 kr.
InStock
Mauboussin Star For Men Set: EDP 90 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch
Mauboussin Star For Men Set: EDP 90 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch
-66%

Mauboussin Star For Men Set: EDP 90 ml. + Shower Gel 75 ml. + Travel Spray EDP 20 ml. + Matt Black Mauboussin Pouch

700,00 kr.
235,00 kr.
InStock
Dolce & Gabbana K by Dolce & Gabbana EDP, 50 ml.
Dolce & Gabbana K by Dolce & Gabbana EDP, 50 ml.
-37%

Dolce & Gabbana K by Dolce & Gabbana EDP, 50 ml.

675,00 kr.
423,00 kr.
InStock
24 ud af 24 produkter