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
Juliette Has a Gun EDP Not A Perfume, 100 ml.
Juliette Has a Gun EDP Not A Perfume, 100 ml.
-45%

Juliette Has a Gun EDP Not A Perfume, 100 ml.

1015,00 kr.
555,00 kr.
InStock
ZENZ Organic Pure Duo, 2x 1000 ml.
ZENZ Organic Pure Duo, 2x 1000 ml.
-35%

ZENZ Organic Pure Duo, 2x 1000 ml.

1349,00 kr.
876,00 kr. InStock
Filorga Global Repair Elixer Flacon, 30 ml.
Filorga Global Repair Elixer Flacon, 30 ml.
-50%

Filorga Global Repair Elixer Flacon, 30 ml.

989,00 kr.
494,00 kr.
InStock
ZarkoPerfume Pink Molécule 090.09 EDP, 100 ml.
ZarkoPerfume Pink Molécule 090.09 EDP, 100 ml.
-26%

ZarkoPerfume Pink Molécule 090.09 EDP, 100 ml.

890,00 kr.
658,00 kr. InStock
Gillian Jones Hollywood Spejl m. Justerbart Lys
Gillian Jones Hollywood Spejl m. Justerbart Lys
-33%

Gillian Jones Hollywood Spejl m. Justerbart Lys

1249,00 kr.
836,00 kr.
InStock
Hermes Twilly D'Hermes Eau Ginger Gift Set - EDP 50 ml + Body Milk 40 ml
Hermes Twilly D'Hermes Eau Ginger Gift Set - EDP 50 ml + Body Milk 40 ml
-44%

Hermes Twilly D'Hermes Eau Ginger Gift Set - EDP 50 ml + Body Milk 40 ml

850,00 kr.
472,00 kr.
InStock
Sisley Phyto-Touches Trio Sun Glow Powder, 11 g.
Sisley Phyto-Touches Trio Sun Glow Powder, 11 g.
-38%

Sisley Phyto-Touches Trio Sun Glow Powder, 11 g.

859,00 kr.
529,00 kr.
InStock
Sisley Phyto-Cernes Eclat Eye Concealer #01, 15 ml.
Sisley Phyto-Cernes Eclat Eye Concealer #01, 15 ml.

Sisley Phyto-Cernes Eclat Eye Concealer #01, 15 ml.

798,00 kr.
InStock
Moroccanoil Extra Volume Conditioner, 1000 ml.
Moroccanoil Extra Volume Conditioner, 1000 ml.
-30%

Moroccanoil Extra Volume Conditioner, 1000 ml.

699,00 kr.
489,00 kr. InStock
Sisley Stylo Lumiere Highligther 3 Soft Beige 2,5 ml.
Sisley Stylo Lumiere Highligther 3 Soft Beige 2,5 ml.
-41%

Sisley Stylo Lumiere Highligther 3 Soft Beige 2,5 ml.

459,00 kr.
269,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
Chloé Pung Hvid
Chloé Pung Hvid
-75%

Chloé Pung Hvid

799,00 kr.
199,00 kr.
InStock
Olaplex Traveling Stylist Kit, 3x 100 ml.
Olaplex Traveling Stylist Kit, 3x 100 ml.
-38%

Olaplex Traveling Stylist Kit, 3x 100 ml.

1295,00 kr.
798,00 kr.
InStock
Burberry Toilettaske Grå
Burberry Toilettaske Grå
-72%

Burberry Toilettaske Grå

699,00 kr.
199,00 kr.
InStock
Marc Inbane Luxe Travel set
Marc Inbane Luxe Travel set
-30%

Marc Inbane Luxe Travel set

549,00 kr.
383,00 kr.
InStock
Marc Inbane Elegance set
Marc Inbane Elegance set
-35%

Marc Inbane Elegance set

999,00 kr.
648,00 kr.
InStock
Mauboussin Prestige Set Mauboussin Elixir Pour Elle EDP, 100 ml.
Mauboussin Prestige Set Mauboussin Elixir Pour Elle EDP, 100 ml.
-56%

Mauboussin Prestige Set Mauboussin Elixir Pour Elle EDP, 100 ml.

760,00 kr.
331,00 kr.
InStock
DKNY Be Delicious Gift Set
DKNY Be Delicious Gift Set
-35%

DKNY Be Delicious Gift Set

879,00 kr.
571,00 kr. InStock
Sisley Phyto Cernes Eclat Concealer 3, 15 ml.
Sisley Phyto Cernes Eclat Concealer 3, 15 ml.
-17%

Sisley Phyto Cernes Eclat Concealer 3, 15 ml.

769,00 kr.
639,00 kr.
InStock
Sisley Resines Tropicales Clensing Gel, 120 ml.
Sisley Resines Tropicales Clensing Gel, 120 ml.
-17%

Sisley Resines Tropicales Clensing Gel, 120 ml.

699,00 kr.
578,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
HH Simonsen True Divinity incl. Gloss Brush - Peachy Gold
HH Simonsen True Divinity incl. Gloss Brush - Peachy Gold
-28%

HH Simonsen True Divinity incl. Gloss Brush - Peachy Gold

999,00 kr.
720,00 kr.
InStock
HH Simonsen True Divinity incl. Gloss Brush - Lavender Haze
HH Simonsen True Divinity incl. Gloss Brush - Lavender Haze
-20%

HH Simonsen True Divinity incl. Gloss Brush - Lavender Haze

999,00 kr.
799,00 kr.
InStock
Chi Lava Ministyler
Chi Lava Ministyler
-26%

Chi Lava Ministyler

899,00 kr.
665,00 kr. InStock
Chi G2 Rose Gold Titanium Hairstyling Iron
Chi G2 Rose Gold Titanium Hairstyling Iron
-26%

Chi G2 Rose Gold Titanium Hairstyling Iron

1299,00 kr.
956,00 kr.
InStock
26 ud af 26 produkter