Contatto
Error executing template "Designs/Swift/Paragraph/Finixa_ProductListGroupPoster.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_2e611de0d002463da5864aa664e08e97.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 == "SmallImage").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 switch (layout) 71 { 72 case "align-top-left-text-left": 73 alignment = "text-start justify-content-start align-items-start"; 74 break; 75 case "align-top-center-text-center": 76 alignment = "text-center justify-content-center align-items-start"; 77 break; 78 case "align-top-right-text-right": 79 alignment = "text-end justify-content-end align-items-start"; 80 break; 81 case "align-middle-left-text-left": 82 alignment = "text-start justify-content-start align-items-center"; 83 break; 84 case "align-middle-center-text-center": 85 alignment = "text-center justify-content-center align-items-center"; 86 break; 87 case "align-middle-right-text-right": 88 alignment = "text-end justify-content-end align-items-center"; 89 break; 90 case "align-bottom-left-text-left": 91 alignment = "text-start justify-content-start align-items-end"; 92 break; 93 case "align-bottom-center-text-center": 94 alignment = "text-center justify-content-center align-items-end"; 95 break; 96 case "align-bottom-right-text-right": 97 alignment = "text-end justify-content-end align-items-end"; 98 break; 99 } 100 101 <div class="position-relative h-100@(theme) @(posterHeight) item_@Model.Item.SystemName.ToLower()"> 102 @if (!string.IsNullOrEmpty(groupImage)) 103 { 104 string imageFilter = Model.Item.GetRawValueString("ImageFilter", ""); 105 imageFilter = imageFilter == "no-filter" ? "" : imageFilter; 106 imageFilter = imageFilter == "filter" ? " image-filter" : imageFilter; 107 108 <div class="position-absolute top-0 bottom-0 end-0 start-0@(imageFilter)"> 109 @RenderPartial("Components/Image.cshtml", new FileViewModel { Path = groupImage }, parms) 110 </div> 111 } 112 113 @if (!hideTitle || !hideDescription) 114 { 115 <div class="container-xl h-100 @(contentPadding)"> 116 <div class="h-100 w-100 position-relative d-flex @(alignment)"> 117 <div class="@(maxWidth)"> 118 @if (!hideTitle) 119 { 120 <h1 class="@titleFontSize">@headerName</h1> 121 } 122 123 @if (!hideDescription && !string.IsNullOrEmpty(groupDescription)) 124 { 125 <div class="@descriptionFontSize mb-0-last-child"> 126 @groupDescription 127 </div> 128 } 129 </div> 130 </div> 131 </div> 132 } 133 134 </div> 135 } 136 else if (Pageview.IsVisualEditorMode) 137 { 138 <div class="alert alert-dark m-0" role="alert"> 139 <span>@Translate("Product group poster: The poster paragraph will be shown here, if any")</span> 140 </div> 141 } 142 } 143 else if (Pageview.IsVisualEditorMode) 144 { 145 <div class="alert alert-dark m-0" role="alert"> 146 <span>@Translate("Product group poster: The poster paragraph will be shown here, if any")</span> 147 </div> 148 } 149
Black tyre gel applicator sponges - 12p.
Black tyre gel applicator sponges - 12p.

Black tyre gel applicator sponges - 12p.

BTS12
Bucket with spout - black 12l
Bucket with spout - black 12l

Bucket with spout - black 12l

BUC12
Anti-dirt grid for BUC 12
Anti-dirt grid for BUC 12

Anti-dirt grid for BUC 12

BUI12
Velcro hand pad 15cm

Velcro hand pad 15cm

CLP16
Clay pad with velcro 15cm

Clay pad with velcro 15cm

CLP15
Manual sprayer 1l

Manual sprayer 1l

LSP30
Microfiber cloth grey soft 40cmx40cm 4p.

Microfiber cloth grey soft 40cmx40cm 4p.

MFS40
Microfiber cloth green 40x40cm 5p.

Microfiber cloth green 40x40cm 5p.

POL40
Microfiber Cloth Large

Microfiber Cloth Large

TWL00
Soft silicone blade

Soft silicone blade

WWB00
10 fuori 10 prodotti
Facendo clic su "Accetta tutto" acconsenti alla raccolta di informazioni su di te per vari scopi, tra cui: statistiche e marketing