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_035684a76f9945bc93a693ab8583ea27.Execute() in D:\dynamicweb.net\Solutions\Flex Media\baagoe.cloud.dynamicweb-cms.com\files\Templates\Designs\Swift\Paragraph\Swift_Accordion.cshtml:line 5
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.ParagraphViewModel>
2
3
4 @{
5 string title = Model.Item.GetString("Title");
6 var accordionItems = Model.Item?.GetItems("Accordion_Items") ?? Enumerable.Empty<Dynamicweb.Frontend.ItemViewModel>().ToList();
7 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : "";
8 string contentPadding = Model.Item.GetRawValueString("ContentPadding", "");
9 contentPadding = contentPadding == "none" ? "p-0" : contentPadding;
10 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding;
11 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding;
12 }
13
14 <div class="accordion@(theme) @(contentPadding) h-100 item_@Model.Item.SystemName.ToLower()" id="accordion-@Pageview.CurrentParagraph.ID">
15 @RenderTitle()
16 @foreach (var item in accordionItems)
17 {
18 <div class="accordion-item">
19 <h2 class="accordion-header" id="heading-@Pageview.CurrentParagraph.ID-@item.Id">
20 <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">
21 @item.GetString("Title")
22 </button>
23 </h2>
24 <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">
25 <div class="accordion-body mb-0-last-child opacity-75">
26 @item.GetRawValueString("Content")
27 </div>
28 </div>
29 </div>
30 }
31 </div>
32
33 @helper RenderTitle()
34 {
35 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle"))
36 {
37 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h2");
38 string headingLevel = Model.Item.GetString("HeadingLevel", "h2");
39 string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} mb-4\">";
40 string headingLevelStop = $"</{headingLevel}>";
41
42 @headingLevelStart
43 @Model.Item.GetString("Title")
44 @headingLevelStop
45 }
46 }
47