Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>
Error executing template "Designs/novi/Paragraph/accordions.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_a3afb7f78ae145bea61d53710c765f49.Execute() in D:\dynamicweb.net\Solutions\Gotcha\novi2023.dw9.dynamicweb-cms.com\Files\Templates\Designs\novi\Paragraph\Accordions.cshtml:line 9
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 @using Dynamicweb.Frontend
3 @using Novi.Website.Helpers;
4 @using System.Web
5
6 @{
7 string moduleId = "module" + Model.ID;
8 var color = (ItemViewModel)Model.Item.GetValue("Color");
9 string colorValue = color.GetString("Color");
10 bool colorToned = color.GetBoolean("UseTonedVersion");
11
12 string headline = Model.Item.GetString("Headline");
13 string subheadline = Model.Item.GetString("Subheadline");
14 var accordions = (List<ItemViewModel>)Model.Item.GetValue("Accordions");
15
16 string cssClass = "accordions module theme" + colorValue;
17 cssClass += colorToned ? "-toned" : "";
18
19 string itemHeadlineCssClass = "accordion__headline";
20 string itemContentCssClass = "accordion__content";
21 }
22
23 <article id="@moduleId" class="@cssClass">
24 <div class="accordions__header">
25 @if (!string.IsNullOrWhiteSpace(headline)) {
26 <h2 class="accordions__headline">@headline</h2>
27 }
28 @if (!string.IsNullOrWhiteSpace(subheadline)) {
29 <span class="accordions__subheadline">@subheadline</span>
30 }
31 </div>
32 <div class="accordions__content accordion__list">
33 @{
34 foreach (var accordion in accordions) {
35 string accordionHeadline = accordion.GetString("Headline");
36 string accordionRichText = accordion.GetString("RichText");
37 var accordionLink = (ItemViewModel)accordion.GetValue("Link");
38 string accordionLinkUrl = accordionLink.GetString("Link");
39
40 if (accordionLinkUrl.IndexOf("#accordion") == -1) {
41 accordionLinkUrl = accordionLinkUrl.IndexOf("#") != -1 && accordionLinkUrl.IndexOf("#module") == -1 ? accordionLinkUrl.Replace("#", "#module") : accordionLinkUrl;
42 }
43
44 var accordionImage = (ItemViewModel)accordion.GetValue("Image");
45 string accordionImageUrl = UrlHelper.GetEncodedFilePath(accordionImage.GetString("Image"));
46 string accordionHeadlineId = "accordion-" + accordion.Id + "-headline";
47 string accordionContentId = "accordion-" + accordion.Id + "-content";
48
49 <div class="accordion__item" data-action="accordion">
50 <h3 class="@itemHeadlineCssClass" id="@accordionHeadlineId" role="button" aria-expanded="false" aria-controls="#@accordionContentId">
51 <span class="accordion__headline-inner">@accordionHeadline</span>
52 <span class="accordion__icon"></span>
53 </h3>
54 <div class="accordion__content-wrap" id="@accordionContentId" aria-hidden="true" aria-labelledby="@accordionHeadlineId">
55 <div class="@itemContentCssClass">
56 <div class="rich-text accordion__rich-text">
57 @accordionRichText
58 @if (!string.IsNullOrWhiteSpace(accordionLinkUrl)) {
59 string accordionLinkTitle = accordionLink.GetString("Title");
60 string accordionLinkText = accordionLink.GetString("Text");
61 string iconCssClass = accordionLinkUrl.IndexOf("#") == -1 ? "btn__icon" : "btn__icon btn__icon--down";
62
63 <a href="@accordionLinkUrl" class="btn" title="@accordionLinkTitle">
64 <span class="btn__text">@accordionLinkText</span>
65 <span class="@iconCssClass">
66 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
68 </svg>
69 <svg width="13" height="11" viewBox="0 0 13 11" fill="none" xmlns="http://www.w3.org/2000/svg">
70 <path d="M7.34014 11L6.36735 10.067L10.3722 6.17522H0V4.82478H10.3722L6.36735 0.945312L7.34014 0L13 5.5L7.34014 11Z" fill="black"/>
71 </svg>
72 </span>
73 </a>
74 }
75 </div>
76 @if (!string.IsNullOrWhiteSpace(accordionImageUrl)) {
77 string accordionImageAltText = accordionImage.GetString("AlternateText");
78 string imageLarge = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=1051&Compression=100";
79 string imageSmall = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=788&Compression=100";
80 string imageDefault = "/admin/public/getimage.ashx?Image=" + accordionImageUrl + "&width=674&Compression=100";
81
82 imageLarge += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
83 imageSmall += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
84 imageDefault += accordionImageUrl.IndexOf("x=") != -1 ? "&crop=7" : "&crop=0";
85
86 <picture class="accordion__image-wrap">
87 <source srcset="@imageLarge" media="(min-width: 1920px)">
88 <source srcset="@imageSmall" media="(min-width: 768px)">
89 <img class="accordion__image" width="696" src="@imageDefault" alt="@accordionImageAltText." loading="lazy" />
90 </picture>
91 }
92 </div>
93 </div>
94 </div>
95 }
96 }
97 </div>
98 </article>