Error executing template "Designs/Swift/Paragraph/Swift_Accordion.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_5e15069c79d44a6c948bd824307aee99.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) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 3 @functions 4 { 5 private string RenderCustomCSS(IEnumerable<string> decorations) 6 { 7 var cssClasses = new List<string>(); 8 9 foreach (var itemId in decorations) 10 { 11 var item = Dynamicweb.Content.Services.Items.GetItem("Swift_Css", itemId); 12 item.TryGetValue("Class", out object classes); 13 14 if (classes is null) 15 { 16 continue; 17 } 18 19 var cssString = (string)classes; 20 21 if (cssString.StartsWith("[")) 22 { 23 var cssArray = Dynamicweb.Core.Converter.Deserialize<string[]>(cssString); 24 cssClasses.AddRange(cssArray); 25 } 26 else 27 { 28 cssClasses.Add(cssString.Replace(",", " ")); 29 } 30 } 31 32 return string.Join(" ", cssClasses).Trim(); 33 } 34 } 35 36 @{ 37 string title = Model.Item.GetString("Title"); 38 var accordionItems = Model.Item?.GetItems("Accordion_Items") ?? Enumerable.Empty<Dynamicweb.Frontend.ItemViewModel>().ToList(); 39 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 40 var decorations = Model.Item?.GetList("CssDecorations")?.GetRawValue().OfType<string>() ?? Enumerable.Empty<string>(); 41 string css = RenderCustomCSS(decorations); 42 string contentPadding = Model.Item.GetRawValueString("ContentPadding", "none"); 43 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 44 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 45 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 46 } 47 48 <div class="accordion @(theme) @(css) @(contentPadding) h-100 position-relative item_@Model.Item.SystemName.ToLower()" id="accordion-@Pageview.CurrentParagraph.ID"> 49 @if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 50 { 51 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h2"); 52 string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); 53 string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} mb-4\">"; 54 string headingLevelStop = $"</{headingLevel}>"; 55 56 @headingLevelStart 57 @Model.Item.GetString("Title") 58 @headingLevelStop 59 } 60 @foreach (var item in accordionItems) 61 { 62 <div class="accordion-item"> 63 <h2 class="accordion-header" id="heading-@Pageview.CurrentParagraph.ID-@item.Id"> 64 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-@Pageview.CurrentParagraph.ID-@item.Id" aria-expanded="false" aria-controls="collapse-@Pageview.CurrentParagraph.ID-@item.Id"> 65 @item.GetString("Title") 66 </button> 67 </h2> 68 <div id="collapse-@Pageview.CurrentParagraph.ID-@item.Id" class="accordion-collapse collapse" aria-labelledby="heading-@Pageview.CurrentParagraph.ID-@item.Id" data-bs-parent="#accordion-@Pageview.CurrentParagraph.ID"> 69 <div class="accordion-body mb-0-last-child opacity-75"> 70 @item.GetRawValueString("Content") 71 </div> 72 </div> 73 </div> 74 } 75 <div id="@Model.ID" class="user-select-none position-absolute top-0" style="scroll-margin-top:var(--header-height,150px)"></div> 76 </div> 77

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam euismod dolor mi, finibus placerat lacus commodo sed. Phasellus et nibh vulputate, tempor elit a, dignissim dui. Nam id augue eleifend elit finibus sodales. Nam maximus egestas nisl sit amet pellentesque. 

Title

Subtitle

Text

Title (Text item type)

Subtitle

Text

Title (Text and image item type)

Subtitle

Text