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
CLEAN Fresh Linens EDP, 30 ml.
CLEAN Fresh Linens EDP, 30 ml.
-51%

CLEAN Fresh Linens EDP, 30 ml.

410,00 kr.
199,00 kr.
InStock
Olaplex No. 4 Fine Bond Maintenance Shampoo, 250 ml.
Olaplex No. 4 Fine Bond Maintenance Shampoo, 250 ml.
-35%

Olaplex No. 4 Fine Bond Maintenance Shampoo, 250 ml.

269,95 kr.
175,00 kr. InStock
Olaplex No. 5 Fine Bond Maintenance Conditioner, 250 ml.
Olaplex No. 5 Fine Bond Maintenance Conditioner, 250 ml.
-35%

Olaplex No. 5 Fine Bond Maintenance Conditioner, 250 ml.

269,95 kr.
175,00 kr. InStock
Essie Classic - Nail Polish Glee For All, 13,5 ml.
Essie Classic - Nail Polish Glee For All, 13,5 ml.
-78%

Essie Classic - Nail Polish Glee For All, 13,5 ml.

109,00 kr.
24,00 kr.
InStock
Olaplex NO.7 Bonding Oil, 30 ml.
Olaplex NO.7 Bonding Oil, 30 ml.
-35%

Olaplex NO.7 Bonding Oil, 30 ml.

259,00 kr.
168,00 kr. InStock
HH SImonsen Miracle Spray 250 ml & Hairspray 250 ml + hårklemme
HH SImonsen Miracle Spray 250 ml & Hairspray 250 ml + hårklemme
-50%

HH SImonsen Miracle Spray 250 ml & Hairspray 250 ml + hårklemme

349,00 kr.
175,00 kr.
InStock
CLEAN Apple Blossom EDP, 30 ml.
CLEAN Apple Blossom EDP, 30 ml.
-50%

CLEAN Apple Blossom EDP, 30 ml.

410,00 kr.
205,00 kr. InStock
Essie Classic - Nail Polish 843 Coconuts For You, 13,5 ml.
Essie Classic - Nail Polish 843 Coconuts For You, 13,5 ml.
-76%

Essie Classic - Nail Polish 843 Coconuts For You, 13,5 ml.

109,00 kr.
26,00 kr.
InStock
Essie Classic - Nail Polish 790 Make A Racquet, 13,5 ml.
Essie Classic - Nail Polish 790 Make A Racquet, 13,5 ml.
-78%

Essie Classic - Nail Polish 790 Make A Racquet, 13,5 ml.

109,00 kr.
24,00 kr.
InStock
CLEAN Nordic Light EDP, 30 ml.
CLEAN Nordic Light EDP, 30 ml.
-50%

CLEAN Nordic Light EDP, 30 ml.

410,00 kr.
205,00 kr. InStock
CLEAN Flower Fresh EDP, 30 ml.
CLEAN Flower Fresh EDP, 30 ml.
-50%

CLEAN Flower Fresh EDP, 30 ml.

410,00 kr.
205,00 kr. InStock
HH Simonsen Wonder Brush Mommy & Me - Flowers
HH Simonsen Wonder Brush Mommy & Me - Flowers
-48%

HH Simonsen Wonder Brush Mommy & Me - Flowers

249,00 kr.
129,00 kr.
InStock
American Crew Fiber Cream, 100 ml.
American Crew Fiber Cream, 100 ml.
-61%

American Crew Fiber Cream, 100 ml.

199,00 kr.
78,00 kr.
InStock
M2 Beaute Black Nano Mascara Nutrition & Natural Growth, 6 ml.
M2 Beaute Black Nano Mascara Nutrition & Natural Growth, 6 ml.
-50%

M2 Beaute Black Nano Mascara Nutrition & Natural Growth, 6 ml.

300,00 kr.
150,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
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
Youngblood Liquid Buffing Brush (YB3)
Youngblood Liquid Buffing Brush (YB3)
-34%

Youngblood Liquid Buffing Brush (YB3)

349,00 kr.
232,00 kr.
InStock
Olaplex NO.9 Bond Protector Nourishing Hair Serum, 90 ml.
Olaplex NO.9 Bond Protector Nourishing Hair Serum, 90 ml.
-35%

Olaplex NO.9 Bond Protector Nourishing Hair Serum, 90 ml.

259,00 kr.
168,00 kr. InStock
Youngblood Pressed Mineral Rice Powder Light, 10 g.
Youngblood Pressed Mineral Rice Powder Light, 10 g.
-29%

Youngblood Pressed Mineral Rice Powder Light, 10 g.

295,00 kr.
209,00 kr.
InStock
Youngblood Lip Liner Pencil Au Naturel, 1.1 g.
Youngblood Lip Liner Pencil Au Naturel, 1.1 g.
-16%

Youngblood Lip Liner Pencil Au Naturel, 1.1 g.

135,00 kr.
114,00 kr.
InStock
Moroccanoil Moisture Repair Conditioner, 250 ml.
Moroccanoil Moisture Repair Conditioner, 250 ml.
-30%

Moroccanoil Moisture Repair Conditioner, 250 ml.

229,00 kr.
160,00 kr. InStock
CHI Keratin Silk Infusion, 177 ml.
CHI Keratin Silk Infusion, 177 ml.
-26%

CHI Keratin Silk Infusion, 177 ml.

189,00 kr.
139,00 kr. InStock
Embryolisse Hydra Serum, 30 ml.
Embryolisse Hydra Serum, 30 ml.
-30%

Embryolisse Hydra Serum, 30 ml.

235,00 kr.
164,00 kr. InStock
Parsa Manicure og Pedicure Sæt, inklusiv makeup pung
Parsa Manicure og Pedicure Sæt, inklusiv makeup pung
-43%

Parsa Manicure og Pedicure Sæt, inklusiv makeup pung

169,00 kr.
97,00 kr.
InStock
Le Mini Macaron Manicure Kit Milkshake, 10 ml.
Le Mini Macaron Manicure Kit Milkshake, 10 ml.
-24%

Le Mini Macaron Manicure Kit Milkshake, 10 ml.

349,95 kr.
266,00 kr.
InStock
Some By Mi Snail Truecica Miracle Repair Starter Kit
Some By Mi Snail Truecica Miracle Repair Starter Kit
-19%

Some By Mi Snail Truecica Miracle Repair Starter Kit

199,00 kr.
161,00 kr.
InStock
HH Simonsen Clips set - 4 stk. carbon + 2 stk. Crocodile
HH Simonsen Clips set - 4 stk. carbon + 2 stk. Crocodile
-37%

HH Simonsen Clips set - 4 stk. carbon + 2 stk. Crocodile

119,00 kr.
75,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
Essie Classic - Nail Polish Juicy Details, 13,5 ml.
Essie Classic - Nail Polish Juicy Details, 13,5 ml.
-50%

Essie Classic - Nail Polish Juicy Details, 13,5 ml.

109,00 kr.
54,00 kr. InStock
Essie Treat Love & Color - Nail Care A Game, 13,5 ml.
Essie Treat Love & Color - Nail Care A Game, 13,5 ml.
-50%

Essie Treat Love & Color - Nail Care A Game, 13,5 ml.

109,00 kr.
54,00 kr. InStock
CHI 44 Iron Guard Thermal Protection Spray, 237 ml.
CHI 44 Iron Guard Thermal Protection Spray, 237 ml.
-26%

CHI 44 Iron Guard Thermal Protection Spray, 237 ml.

155,00 kr.
115,00 kr.
InStock
Some By Mi Super Matcha Pore Care Starter Kit
Some By Mi Super Matcha Pore Care Starter Kit
-19%

Some By Mi Super Matcha Pore Care Starter Kit

199,00 kr.
161,00 kr.
InStock
Gillian Jones Sterilizations UV-Beauty Box with Wireless Mobile Charger
Gillian Jones Sterilizations UV-Beauty Box with Wireless Mobile Charger
-75%

Gillian Jones Sterilizations UV-Beauty Box with Wireless Mobile Charger

799,95 kr.
199,00 kr.
InStock
Essie Classic - Nail Polish 892 You're Scent-Sational, 13,5 ml.
Essie Classic - Nail Polish 892 You're Scent-Sational, 13,5 ml.
-50%

Essie Classic - Nail Polish 892 You're Scent-Sational, 13,5 ml.

109,00 kr.
54,00 kr. InStock
Youngblood Liquid Mineral Foundation Capri, 30 ml.
Youngblood Liquid Mineral Foundation Capri, 30 ml.
-60%

Youngblood Liquid Mineral Foundation Capri, 30 ml.

425,00 kr.
172,00 kr.
InStock
Le Mini Macaron Manicure Kit Fleur Bleue, 10 ml.
Le Mini Macaron Manicure Kit Fleur Bleue, 10 ml.
-24%

Le Mini Macaron Manicure Kit Fleur Bleue, 10 ml.

349,00 kr.
266,00 kr.
InStock
36 ud af 50 produkter
Hent flere produkter