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

Jul 2025

Youngblood Loose Mineral Foundation Honey, 10 g.
Youngblood Loose Mineral Foundation Honey, 10 g.
-35%

Youngblood Loose Mineral Foundation Honey, 10 g.

375,00 kr.
243,00 kr. InStock
M2 Beaute Eyelash Awakening Serum, 4 ml.
M2 Beaute Eyelash Awakening Serum, 4 ml.
-53%

M2 Beaute Eyelash Awakening Serum, 4 ml.

695,00 kr.
329,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
JA-NI Hair Accessories - Hair elastics, The Baby Pink
JA-NI Hair Accessories - Hair elastics, The Baby Pink
-80%

JA-NI Hair Accessories - Hair elastics, The Baby Pink

20,00 kr.
4,00 kr.
InStock
HH Simonsen Restore Cream, 700 ml.
HH Simonsen Restore Cream, 700 ml.
-75%

HH Simonsen Restore Cream, 700 ml.

599,00 kr.
147,00 kr.
InStock
ZarkoPerfume Buddha-Wood EDP, 100 ml.
ZarkoPerfume Buddha-Wood EDP, 100 ml.
-39%

ZarkoPerfume Buddha-Wood EDP, 100 ml.

890,00 kr.
545,00 kr.
InStock
CLEAN Apple Blossom EDP, 60 ml.
CLEAN Apple Blossom EDP, 60 ml.
-50%

CLEAN Apple Blossom EDP, 60 ml.

620,00 kr.
310,00 kr. InStock
Maria Nila Ocean Spray, 150 ml.
Maria Nila Ocean Spray, 150 ml.
-30%

Maria Nila Ocean Spray, 150 ml.

209,00 kr.
146,00 kr. InStock
Balmain Leave-in Conditioning Spray, 200 ml.
Balmain Leave-in Conditioning Spray, 200 ml.
-35%

Balmain Leave-in Conditioning Spray, 200 ml.

339,00 kr.
219,00 kr.
InStock
Olaplex NO.3 Hair Perfector, 100 ml.
Olaplex NO.3 Hair Perfector, 100 ml.
-35%

Olaplex NO.3 Hair Perfector, 100 ml.

259,00 kr.
168,00 kr. InStock
Moroccanoil Blonde Perfecting Purple Conditioner, 200 ml.
Moroccanoil Blonde Perfecting Purple Conditioner, 200 ml.
-30%

Moroccanoil Blonde Perfecting Purple Conditioner, 200 ml.

229,00 kr.
160,00 kr. InStock
Olaplex NO.4C Bond Maintenance Clarifying Shampoo, 250 ml.
Olaplex NO.4C Bond Maintenance Clarifying Shampoo, 250 ml.
-35%

Olaplex NO.4C Bond Maintenance Clarifying Shampoo, 250 ml.

259,00 kr.
168,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
JA-NI Hair Accessories - Hair elastics, The Lavender Purple
JA-NI Hair Accessories - Hair elastics, The Lavender Purple
-60%

JA-NI Hair Accessories - Hair elastics, The Lavender Purple

20,00 kr.
8,00 kr. InStock
Moroccanoil Extra Volume Conditioner, 250 ml.
Moroccanoil Extra Volume Conditioner, 250 ml.
-30%

Moroccanoil Extra Volume Conditioner, 250 ml.

229,00 kr.
160,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
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
Olaplex Broad Spectrum Chelating Treatment, 370 ml.
Olaplex Broad Spectrum Chelating Treatment, 370 ml.

Olaplex Broad Spectrum Chelating Treatment, 370 ml.

Ikke medlem
349,00 kr.
Medlemspris
209,00 kr.
InStock
Living Proof Restore Conditioner, 236 ml.
Living Proof Restore Conditioner, 236 ml.
-24%

Living Proof Restore Conditioner, 236 ml.

228,00 kr.
173,00 kr.
InStock
Wella Sp Luxe Oil Reconstructive Elixir, 30 ml.
Wella Sp Luxe Oil Reconstructive Elixir, 30 ml.
-51%

Wella Sp Luxe Oil Reconstructive Elixir, 30 ml.

169,00 kr.
82,00 kr.
InStock
Calvin Klein CK Be EDT, 200 ml.
Calvin Klein CK Be EDT, 200 ml.
-59%

Calvin Klein CK Be EDT, 200 ml.

639,00 kr.
259,00 kr.
InStock
ZENZ Organic Conditioner Pure No. 02, 50 ml.
ZENZ Organic Conditioner Pure No. 02, 50 ml.
-36%

ZENZ Organic Conditioner Pure No. 02, 50 ml.

95,00 kr.
61,00 kr. InStock
CLEAN Reserve Radiant Nectar EDP, 50 ml.
CLEAN Reserve Radiant Nectar EDP, 50 ml.
-50%

CLEAN Reserve Radiant Nectar EDP, 50 ml.

580,00 kr.
289,00 kr.
InStock
CLEAN Reserve Lush Fleur EDP, 50 ml.
CLEAN Reserve Lush Fleur EDP, 50 ml.
-50%

CLEAN Reserve Lush Fleur EDP, 50 ml.

580,00 kr.
290,00 kr.
InStock
Maria Nila Sheer Silver Conditioner, 1000 ml.
Maria Nila Sheer Silver Conditioner, 1000 ml.
-30%

Maria Nila Sheer Silver Conditioner, 1000 ml.

525,00 kr.
367,00 kr. InStock
Wella SP Luxe Oil Reconstructive Elixir, 100 ml.
Wella SP Luxe Oil Reconstructive Elixir, 100 ml.
-65%

Wella SP Luxe Oil Reconstructive Elixir, 100 ml.

279,00 kr.
99,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
Jurlique Nutri Define Supreme Restorative Rich Cream, 50 ml.
Jurlique Nutri Define Supreme Restorative Rich Cream, 50  ml.
-55%

Jurlique Nutri Define Supreme Restorative Rich Cream, 50 ml.

825,00 kr.
372,00 kr.
OutOfStock
Escentric Molecules Escentric 03 Unisex EDT, 100 ml.
Escentric Molecules Escentric 03 Unisex EDT, 100 ml.
-17%

Escentric Molecules Escentric 03 Unisex EDT, 100 ml.

1085,00 kr.
904,00 kr.
InStock
Kevin Murphy ANTI.GRAVITY, 150 ml.
Kevin Murphy ANTI.GRAVITY, 150 ml.
-26%

Kevin Murphy ANTI.GRAVITY, 150 ml.

238,00 kr.
176,00 kr. InStock
Batiste Dry Shampoo Tropical, 200 ml.
Batiste Dry Shampoo Tropical, 200 ml.
-51%

Batiste Dry Shampoo Tropical, 200 ml.

49,00 kr.
24,00 kr. InStock
Balmain Illuminating Shampoo White Pearl, 300 ml.
Balmain Illuminating Shampoo White Pearl, 300 ml.
-35%

Balmain Illuminating Shampoo White Pearl, 300 ml.

349,00 kr.
226,00 kr. InStock
HH Simonsen Repair Shampoo, 250 ml.
HH Simonsen Repair Shampoo, 250 ml.
-17%

HH Simonsen Repair Shampoo, 250 ml.

199,00 kr.
166,00 kr.
InStock
Maria Nila Pure Volume Conditioner, 1000 ml.
Maria Nila Pure Volume Conditioner, 1000 ml.
-30%

Maria Nila Pure Volume Conditioner, 1000 ml.

525,00 kr.
367,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
Issey Miyake L'Eau D'Issey Gift Set - EDT 50 ml + Bodylotion 50 ml + Shower Cream 50 ml.
Issey Miyake L'Eau D'Issey Gift Set - EDT 50 ml + Bodylotion 50 ml + Shower Cream 50 ml.
-41%

Issey Miyake L'Eau D'Issey Gift Set - EDT 50 ml + Bodylotion 50 ml + Shower Cream 50 ml.

740,00 kr.
439,00 kr.
InStock
36 ud af 75 produkter
Hent flere produkter