Aktuelle Tilbud

Topp 10 tilbud akkurat nå

Error executing template "/Designs/Swift/Grid/Page/RowTemplates/1Column_Custom.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Dynamicweb.Content.Items.Metadata.FieldOptionMetadataItemSource.get_SourceItems()
   at Dynamicweb.Content.Items.Metadata.FieldOptionMetadataItemSource.get_Values()
   at Dynamicweb.Content.Items.Editors.ListEditor`1.ViewModelOptionsFactory(List`1 converted, ItemField field, Boolean allowSorting)
   at Dynamicweb.Frontend.ListViewModel.get_Options()
   at Dynamicweb.Frontend.ListViewModel.get_SelectedOptions()
   at Dynamicweb.Frontend.ListViewModel.get_SelectedValues()
   at CompiledRazorTemplates.Dynamic.RazorEngine_450f66acaf13481ba747d6c36ab0a5d8.Execute() in D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Grid\Page\RowTemplates\1Column_Custom.cshtml:line 130
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   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.GridRowViewModel> 2 3 @* CUSTOM TEMPLATE SUPPORTED BY SWIFT (v1.25.0) *@ 4 5 @{ 6 string sectionClass = "py-3"; 7 string spaceBetweenRows = Model.Item.GetRawValueString("SpaceBetweenRows", "spacing"); 8 string spaceBetweenRowsMobile = Model.Item.GetRawValueString("SpaceBetweenRowsMobile", "auto"); 9 10 //Row spacing mobile auto 11 if (spaceBetweenRowsMobile == "auto") { 12 spaceBetweenRowsMobile = spaceBetweenRows; 13 } 14 15 //Row spacing mobile 16 switch (spaceBetweenRowsMobile) { 17 case "none": //No spacing 18 sectionClass = "py-0"; 19 break; 20 case "spacing": //Small spacing top and bottom 21 sectionClass = "py-3"; 22 break; 23 case "spacing-small-top": //Small spacing top 24 sectionClass = "pt-3"; 25 break; 26 case "spacing-small-bottom": //Small spacing bottom 27 sectionClass = "pb-3"; 28 break; 29 case "spacing-medium": //Medium spacing top and bottom 30 sectionClass = "py-4"; 31 break; 32 case "spacing-medium-top": //Medium spacing top 33 sectionClass = "pt-4"; 34 break; 35 case "spacing-medium-bottom": //Medium spacing bottom 36 sectionClass = "pb-4"; 37 break; 38 case "spacing-large": //Large spacing top and bottom 39 sectionClass = "py-5"; 40 break; 41 case "spacing-top": //Large spacing top 42 sectionClass = "pt-5"; 43 break; 44 case "spacing-bottom": //Large spacing bottom 45 sectionClass = "pb-5"; 46 break; 47 } 48 49 //Row spacing dekstop 50 switch (spaceBetweenRows) { 51 case "none": //No spacing 52 sectionClass += " py-lg-0"; 53 break; 54 case "spacing": //Small spacing top and bottom 55 sectionClass += " py-lg-3"; 56 break; 57 case "spacing-small-top": //Small spacing top 58 sectionClass += " pt-lg-3 pb-lg-0"; 59 break; 60 case "spacing-small-bottom": //Small spacing bottom 61 sectionClass += " pb-lg-3 pt-lg-0"; 62 break; 63 case "spacing-medium": //Medium spacing top and bottom 64 sectionClass += " py-lg-5"; 65 break; 66 case "spacing-medium-top": //Medium spacing top 67 sectionClass += " pt-lg-5 pb-lg-0"; 68 break; 69 case "spacing-medium-bottom": //Medium spacing bottom 70 sectionClass += " pb-lg-5 pt-lg-0"; 71 break; 72 case "spacing-large": //Large spacing top and bottom 73 sectionClass += " py-lg-6"; 74 break; 75 case "spacing-top": //Large spacing top 76 sectionClass += " pt-lg-6 pb-lg-0"; 77 break; 78 case "spacing-bottom": //Large spacing bottom 79 sectionClass += " pb-lg-6 pt-lg-0"; 80 break; 81 } 82 83 string width = Model.Item.GetRawValueString("Width"); 84 string containerClass = "container-xl"; 85 if (width == "stretch") 86 { 87 containerClass = "container-fluid"; 88 } 89 if (width == "none") 90 { 91 containerClass = "container-fluid px-0"; 92 } 93 if (width == "compressed") 94 { 95 containerClass = " container-compressed"; 96 } 97 //CUSTOM 98 if (width == "custom-semi-compressed") 99 { 100 containerClass = " container-semi-compressed"; 101 } 102 //--CUSTOM 103 104 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 105 106 string animationOnScrollCol1 = Model.Item.GetRawValueString("AnimationOnScroll", "no-animation"); 107 animationOnScrollCol1 = animationOnScrollCol1 != "no-animation" ? "data-aos=" + "'" + animationOnScrollCol1 + "'" : ""; 108 109 string hideOverflow = " overflow-hidden"; 110 hideOverflow = animationOnScrollCol1 != "" ? hideOverflow : ""; 111 112 Dynamicweb.Frontend.FileViewModel backgroundImage = Model.Item.GetFile("BackgroundImage"); 113 string backgroundImagePath = backgroundImage?.Path ?? string.Empty; 114 string imagePath = $"/Admin/Public/GetImage.ashx?image={backgroundImagePath}&width=960&format=webp"; 115 backgroundImagePath = Dynamicweb.Core.Encoders.HtmlEncoder.UrlPathEncode(backgroundImagePath); 116 string backgroundRepeat = Model.Item.GetRawValueString("BackgroundImageRepeat", "no-repeat"); 117 string backgroundImageSize = Model.Item.GetRawValueString("BackgroundImageSize", "initial"); 118 int xPos = backgroundImage?.FocalPositionFromLeft ?? 50; 119 int yPos = backgroundImage?.FocalPositionFromTop ?? 50; 120 string cssPosition = $"{xPos}% {yPos}%"; 121 string gradient = Model.Item.GetRawValueString("Gradient", string.Empty); 122 string gradientOpacity = Model.Item.GetRawValueString("GradientOpacity", "0.00"); 123 string gradientString = "linear-gradient(" + gradient + "deg," + "rgba(var(--swift-foreground-color-rgb)," + gradientOpacity + "), rgba(var(--swift-background-color-rgb)," + gradientOpacity + "))"; 124 string backgroundImageString = "url(" + backgroundImagePath + ")"; 125 string backgroundImagePositionString = "background-position:" + cssPosition + ";"; 126 string backgroundRepeatString = "background-repeat:" + backgroundRepeat + ";"; 127 string backgroundImageSizeString = "background-size:" + backgroundImageSize + ";"; 128 string styleString = string.Empty; 129 130 var decorations = Model.Item?.GetList("CssDecorations")?.SelectedValues ?? Enumerable.Empty<string>(); 131 var css = string.Empty; 132 var cssClasses = new List<string> { }; 133 134 foreach (var itemId in decorations) 135 { 136 var item = Dynamicweb.Content.Services.Items.GetItem("Swift_Css", itemId); 137 item.TryGetValue("Class", out object classes); 138 if (classes is null) 139 { 140 continue; 141 } 142 143 var cssString = (string)classes; 144 if (cssString.StartsWith("[")) 145 { 146 var cssArray = Dynamicweb.Core.Converter.Deserialize<string[]>(cssString); 147 cssClasses.AddRange(cssArray); 148 } 149 else 150 { 151 cssClasses.Add(cssString.Replace(",", " ")); 152 } 153 } 154 css = string.Join(" ", cssClasses).Trim(); 155 156 @* Only gradient *@ 157 158 if (!string.IsNullOrEmpty(gradient) && string.IsNullOrEmpty(backgroundImagePath) && gradientOpacity != ("0.00")) 159 { 160 styleString += "style=\"background-image:" + gradientString + ";\""; 161 } 162 163 @* Only background image *@ 164 165 else if (string.IsNullOrEmpty(gradient) && !string.IsNullOrEmpty(backgroundImagePath)) 166 { 167 styleString += "style=\"background-image:" + backgroundImageString + "," + backgroundImagePositionString + backgroundRepeatString + backgroundImageSizeString + "\""; 168 } 169 170 @* Gradient and background image *@ 171 172 else if (!string.IsNullOrEmpty(gradient) && !string.IsNullOrEmpty(backgroundImagePath)) 173 { 174 styleString += "style=\"background-image:" + gradientString + "," + backgroundImageString + ";" + backgroundImagePositionString + backgroundRepeatString + backgroundImageSizeString + "\""; 175 } 176 177 if (Pageview.IsVisualEditorMode || !string.IsNullOrWhiteSpace(Model.Column(1).Output())) 178 { 179 <div class="@(sectionClass)@(theme) @(css) item_@Model.Item.SystemName.ToLower()" @styleString> 180 <div class="@containerClass@(hideOverflow)"> 181 <div class="grid grid-1"> 182 <div class="g-col" data-col-size="12" @animationOnScrollCol1 style="--bs-columns:12"> 183 @Model.Column(1).Output() 184 </div> 185 </div> 186 </div> 187 </div> 188 } 189 } 190