
Working Xtreme 2-In-1 Jakke
Art nr. 086103
Farver:
Størrelser: XS - 5XLError executing template "Designs/Swift-v2/Paragraph/Swift-v2_ProductListGroupPoster.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_457090ba024143e8b9648bee0a3f4a6e.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 maxWidth = Model.Item.GetRawValueString("TextReadability", "max-width-on"); 54 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 55 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 56 57 if (!string.IsNullOrEmpty(groupImage)) 58 { 59 var parms = new Dictionary<string, object>(); 60 parms.Add("cssClass", "h-100 w-100"); 61 parms.Add("columns", Model.GridRowColumnCount); 62 63 switch (layout) 64 { 65 case "align-top-left-text-left": 66 alignment = "text-start justify-content-start align-items-start"; 67 break; 68 case "align-top-center-text-center": 69 alignment = "text-center justify-content-center align-items-start"; 70 break; 71 case "align-top-right-text-right": 72 alignment = "text-end justify-content-end align-items-start"; 73 break; 74 case "align-middle-left-text-left": 75 alignment = "text-start justify-content-start align-items-center"; 76 break; 77 case "align-middle-center-text-center": 78 alignment = "text-center justify-content-center align-items-center"; 79 break; 80 case "align-middle-right-text-right": 81 alignment = "text-end justify-content-end align-items-center"; 82 break; 83 case "align-bottom-left-text-left": 84 alignment = "text-start justify-content-start align-items-end"; 85 break; 86 case "align-bottom-center-text-center": 87 alignment = "text-center justify-content-center align-items-end"; 88 break; 89 case "align-bottom-right-text-right": 90 alignment = "text-end justify-content-end align-items-end"; 91 break; 92 } 93 94 <div class="position-relative h-100 @(posterHeight) item_@Model.Item.SystemName.ToLower()" data-dw-colorscheme="@Model.ColorScheme?.Id"> 95 @if (!string.IsNullOrEmpty(groupImage)) 96 { 97 string imageFilter = Model.Item.GetRawValueString("ImageFilter", ""); 98 imageFilter = imageFilter == "no-filter" ? "" : imageFilter; 99 imageFilter = imageFilter == "filter" ? " image-filter" : imageFilter; 100 101 <div class="position-absolute top-0 bottom-0 end-0 start-0@(imageFilter)"> 102 @RenderPartial("Components/Image.cshtml", new FileViewModel { Path = groupImage }, parms) 103 </div> 104 } 105 106 @if (!hideTitle || !hideDescription) 107 { 108 <div data-swift-container class="h-100"> 109 <div class="h-100 w-100 position-relative d-flex @(alignment)"> 110 <div class="@(maxWidth)"> 111 @if (!hideTitle) 112 { 113 <h1 class="@titleFontSize">@headerName</h1> 114 } 115 116 @if (!hideDescription && !string.IsNullOrEmpty(groupDescription)) 117 { 118 <div class="@descriptionFontSize mb-0-last-child"> 119 @groupDescription 120 </div> 121 } 122 </div> 123 </div> 124 </div> 125 } 126 127 </div> 128 } 129 else if (Pageview.IsVisualEditorMode) 130 { 131 <div class="alert alert-dark m-0" role="alert"> 132 <span>@Translate("Product group poster: The poster paragraph will be shown here, if any")</span> 133 </div> 134 } 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




