Error executing template "Designs/Swift/Paragraph/Swift_Feature.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.<>c__DisplayClass0_0.<RenderIconAndImage>b__0(TextWriter __razor_helper_writer) in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 100
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.Execute() in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 26
   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 System.IO 3 4 @{ 5 string layout = Model.Item.GetRawValueString("Layout", "icon-top"); 6 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 7 contentPadding = contentPadding == "none" ? "" : contentPadding; 8 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 9 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 10 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 11 12 string target = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "target=\"_blank\"" : string.Empty; 13 string rel = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "rel=\"noopener\"" : string.Empty; 14 } 15 16 <div class="h-100 @(contentPadding)@(theme) item_@Model.Item.SystemName.ToLower()"> 17 @switch (layout) 18 { 19 case "icon-top": 20 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 21 { 22 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 23 } 24 25 <div class="d-flex flex-column gap-3 text-center mb-0-last-child"> 26 @{@RenderIconAndImage(layout)} 27 28 @if ( 29 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 30 !Model.Item.GetBoolean("HideTitle") || 31 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 32 ) 33 { 34 <div class="mb-0-last-child"> 35 @RenderTitle() 36 @RenderBody() 37 </div> 38 } 39 40 </div> 41 42 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 43 { 44 @:</a> 45 } 46 break; 47 case "icon-left": 48 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 49 { 50 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 51 } 52 53 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-start"> 54 @{@RenderIconAndImage(layout)} 55 56 @if ( 57 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 58 !Model.Item.GetBoolean("HideTitle") || 59 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 60 ) 61 { 62 <div class="d-flex flex-column flex-grow-1 gap-3"> 63 @RenderTitle() 64 @RenderBody() 65 </div> 66 } 67 68 </div> 69 70 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 71 { 72 @:</a> 73 } 74 break; 75 case "icon-right": 76 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 77 { 78 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 79 } 80 81 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-end"> 82 <div class="d-flex flex-column flex-grow-1 gap-3"> 83 @RenderTitle() 84 @RenderBody() 85 </div> 86 87 @{@RenderIconAndImage(layout)} 88 </div> 89 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 90 { 91 @:</a> 92 } 93 break; 94 } 95 </div> 96 97 @helper RenderIconAndImage(string layout) 98 { 99 string iconSize = Model.Item.GetRawValueString("IconSize", "2"); 100 string imageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Image")) ? Model.Item.GetFile("Image").Path : ""; 101 string flexGrowClass = string.Empty; 102 103 switch (layout) { 104 case "icon-left": 105 case "icon-right": 106 flexGrowClass = "flex-grow-0"; 107 break; 108 } 109 110 if (!string.IsNullOrEmpty(Model.Item.GetString("Image"))) 111 { <div class="@flexGrowClass"> 112 @RenderIcon(imageSrc, iconSize) 113 </div> 114 } 115 else 116 { 117 string imagePath = Model.Item.GetRawValueString("Icon", ""); 118 119 if (!imagePath.ToLower().Contains("none") && imagePath != "") 120 { 121 <div class="@flexGrowClass"> 122 @RenderIcon(imagePath, iconSize) 123 </div> 124 } 125 } 126 } 127 128 @helper RenderIcon(string imagePath, string iconSize) 129 { 130 131 if (Path.GetExtension(imagePath).ToLower() == ".svg") 132 { 133 string iconColor = Model.Item.GetString("iconColor", "text-inherit"); 134 string iconOpacity = Model.Item.GetString("IconOpacity", "opacity-100"); 135 136 <div class="icon-auto @iconColor @iconOpacity" style="height: @(iconSize)px; width: @(iconSize)px;"> 137 @ReadFile(imagePath) 138 </div> 139 } 140 else 141 { 142 imagePath = "/Admin/Public/GetImage.ashx?image=" + imagePath + "&height=" + iconSize + "&width=" + iconSize + "&Crop=0&Format=WebP&Quality=100"; 143 string imgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 144 145 <img loading="lazy" src="@imagePath" alt="@imgAltText" title="@Model.Item.GetString("Title")" style="height: @(iconSize)px; width: @(iconSize)px;"> 146 } 147 } 148 149 @helper RenderTitle() 150 { 151 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 152 { 153 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h4"); 154 string titleColor = Model.Item.GetString("TitleColor", "text-inherit"); 155 string titleOpacity = Model.Item.GetString("TitleOpacity", "opacity-100"); 156 string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); 157 string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} {titleColor} {titleOpacity} m-0\">"; 158 string headingLevelStop = $"</{headingLevel}>"; 159 160 @headingLevelStart 161 @Model.Item.GetString("Title") 162 @headingLevelStop 163 } 164 } 165 166 @helper RenderBody() 167 { 168 if (!string.IsNullOrEmpty(Model.Item.GetString("Text"))) 169 { 170 string textColor = Model.Item.GetString("TextColor", "text-inherit"); 171 string textOpacity = Model.Item.GetString("TextOpacity", "opacity-100"); 172 173 <p class="@textColor @textOpacity m-0">@Model.Item.GetString("Text")</p> 174 } 175 } 176
Error executing template "Designs/Swift/Paragraph/Swift_Feature.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.<>c__DisplayClass0_0.<RenderIconAndImage>b__0(TextWriter __razor_helper_writer) in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 100
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.Execute() in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 26
   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 System.IO 3 4 @{ 5 string layout = Model.Item.GetRawValueString("Layout", "icon-top"); 6 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 7 contentPadding = contentPadding == "none" ? "" : contentPadding; 8 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 9 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 10 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 11 12 string target = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "target=\"_blank\"" : string.Empty; 13 string rel = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "rel=\"noopener\"" : string.Empty; 14 } 15 16 <div class="h-100 @(contentPadding)@(theme) item_@Model.Item.SystemName.ToLower()"> 17 @switch (layout) 18 { 19 case "icon-top": 20 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 21 { 22 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 23 } 24 25 <div class="d-flex flex-column gap-3 text-center mb-0-last-child"> 26 @{@RenderIconAndImage(layout)} 27 28 @if ( 29 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 30 !Model.Item.GetBoolean("HideTitle") || 31 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 32 ) 33 { 34 <div class="mb-0-last-child"> 35 @RenderTitle() 36 @RenderBody() 37 </div> 38 } 39 40 </div> 41 42 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 43 { 44 @:</a> 45 } 46 break; 47 case "icon-left": 48 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 49 { 50 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 51 } 52 53 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-start"> 54 @{@RenderIconAndImage(layout)} 55 56 @if ( 57 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 58 !Model.Item.GetBoolean("HideTitle") || 59 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 60 ) 61 { 62 <div class="d-flex flex-column flex-grow-1 gap-3"> 63 @RenderTitle() 64 @RenderBody() 65 </div> 66 } 67 68 </div> 69 70 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 71 { 72 @:</a> 73 } 74 break; 75 case "icon-right": 76 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 77 { 78 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 79 } 80 81 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-end"> 82 <div class="d-flex flex-column flex-grow-1 gap-3"> 83 @RenderTitle() 84 @RenderBody() 85 </div> 86 87 @{@RenderIconAndImage(layout)} 88 </div> 89 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 90 { 91 @:</a> 92 } 93 break; 94 } 95 </div> 96 97 @helper RenderIconAndImage(string layout) 98 { 99 string iconSize = Model.Item.GetRawValueString("IconSize", "2"); 100 string imageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Image")) ? Model.Item.GetFile("Image").Path : ""; 101 string flexGrowClass = string.Empty; 102 103 switch (layout) { 104 case "icon-left": 105 case "icon-right": 106 flexGrowClass = "flex-grow-0"; 107 break; 108 } 109 110 if (!string.IsNullOrEmpty(Model.Item.GetString("Image"))) 111 { <div class="@flexGrowClass"> 112 @RenderIcon(imageSrc, iconSize) 113 </div> 114 } 115 else 116 { 117 string imagePath = Model.Item.GetRawValueString("Icon", ""); 118 119 if (!imagePath.ToLower().Contains("none") && imagePath != "") 120 { 121 <div class="@flexGrowClass"> 122 @RenderIcon(imagePath, iconSize) 123 </div> 124 } 125 } 126 } 127 128 @helper RenderIcon(string imagePath, string iconSize) 129 { 130 131 if (Path.GetExtension(imagePath).ToLower() == ".svg") 132 { 133 string iconColor = Model.Item.GetString("iconColor", "text-inherit"); 134 string iconOpacity = Model.Item.GetString("IconOpacity", "opacity-100"); 135 136 <div class="icon-auto @iconColor @iconOpacity" style="height: @(iconSize)px; width: @(iconSize)px;"> 137 @ReadFile(imagePath) 138 </div> 139 } 140 else 141 { 142 imagePath = "/Admin/Public/GetImage.ashx?image=" + imagePath + "&height=" + iconSize + "&width=" + iconSize + "&Crop=0&Format=WebP&Quality=100"; 143 string imgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 144 145 <img loading="lazy" src="@imagePath" alt="@imgAltText" title="@Model.Item.GetString("Title")" style="height: @(iconSize)px; width: @(iconSize)px;"> 146 } 147 } 148 149 @helper RenderTitle() 150 { 151 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 152 { 153 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h4"); 154 string titleColor = Model.Item.GetString("TitleColor", "text-inherit"); 155 string titleOpacity = Model.Item.GetString("TitleOpacity", "opacity-100"); 156 string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); 157 string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} {titleColor} {titleOpacity} m-0\">"; 158 string headingLevelStop = $"</{headingLevel}>"; 159 160 @headingLevelStart 161 @Model.Item.GetString("Title") 162 @headingLevelStop 163 } 164 } 165 166 @helper RenderBody() 167 { 168 if (!string.IsNullOrEmpty(Model.Item.GetString("Text"))) 169 { 170 string textColor = Model.Item.GetString("TextColor", "text-inherit"); 171 string textOpacity = Model.Item.GetString("TextOpacity", "opacity-100"); 172 173 <p class="@textColor @textOpacity m-0">@Model.Item.GetString("Text")</p> 174 } 175 } 176
Error executing template "Designs/Swift/Paragraph/Swift_Feature.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.<>c__DisplayClass0_0.<RenderIconAndImage>b__0(TextWriter __razor_helper_writer) in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 100
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.Execute() in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 26
   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 System.IO 3 4 @{ 5 string layout = Model.Item.GetRawValueString("Layout", "icon-top"); 6 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 7 contentPadding = contentPadding == "none" ? "" : contentPadding; 8 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 9 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 10 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 11 12 string target = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "target=\"_blank\"" : string.Empty; 13 string rel = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "rel=\"noopener\"" : string.Empty; 14 } 15 16 <div class="h-100 @(contentPadding)@(theme) item_@Model.Item.SystemName.ToLower()"> 17 @switch (layout) 18 { 19 case "icon-top": 20 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 21 { 22 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 23 } 24 25 <div class="d-flex flex-column gap-3 text-center mb-0-last-child"> 26 @{@RenderIconAndImage(layout)} 27 28 @if ( 29 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 30 !Model.Item.GetBoolean("HideTitle") || 31 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 32 ) 33 { 34 <div class="mb-0-last-child"> 35 @RenderTitle() 36 @RenderBody() 37 </div> 38 } 39 40 </div> 41 42 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 43 { 44 @:</a> 45 } 46 break; 47 case "icon-left": 48 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 49 { 50 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 51 } 52 53 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-start"> 54 @{@RenderIconAndImage(layout)} 55 56 @if ( 57 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 58 !Model.Item.GetBoolean("HideTitle") || 59 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 60 ) 61 { 62 <div class="d-flex flex-column flex-grow-1 gap-3"> 63 @RenderTitle() 64 @RenderBody() 65 </div> 66 } 67 68 </div> 69 70 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 71 { 72 @:</a> 73 } 74 break; 75 case "icon-right": 76 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 77 { 78 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 79 } 80 81 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-end"> 82 <div class="d-flex flex-column flex-grow-1 gap-3"> 83 @RenderTitle() 84 @RenderBody() 85 </div> 86 87 @{@RenderIconAndImage(layout)} 88 </div> 89 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 90 { 91 @:</a> 92 } 93 break; 94 } 95 </div> 96 97 @helper RenderIconAndImage(string layout) 98 { 99 string iconSize = Model.Item.GetRawValueString("IconSize", "2"); 100 string imageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Image")) ? Model.Item.GetFile("Image").Path : ""; 101 string flexGrowClass = string.Empty; 102 103 switch (layout) { 104 case "icon-left": 105 case "icon-right": 106 flexGrowClass = "flex-grow-0"; 107 break; 108 } 109 110 if (!string.IsNullOrEmpty(Model.Item.GetString("Image"))) 111 { <div class="@flexGrowClass"> 112 @RenderIcon(imageSrc, iconSize) 113 </div> 114 } 115 else 116 { 117 string imagePath = Model.Item.GetRawValueString("Icon", ""); 118 119 if (!imagePath.ToLower().Contains("none") && imagePath != "") 120 { 121 <div class="@flexGrowClass"> 122 @RenderIcon(imagePath, iconSize) 123 </div> 124 } 125 } 126 } 127 128 @helper RenderIcon(string imagePath, string iconSize) 129 { 130 131 if (Path.GetExtension(imagePath).ToLower() == ".svg") 132 { 133 string iconColor = Model.Item.GetString("iconColor", "text-inherit"); 134 string iconOpacity = Model.Item.GetString("IconOpacity", "opacity-100"); 135 136 <div class="icon-auto @iconColor @iconOpacity" style="height: @(iconSize)px; width: @(iconSize)px;"> 137 @ReadFile(imagePath) 138 </div> 139 } 140 else 141 { 142 imagePath = "/Admin/Public/GetImage.ashx?image=" + imagePath + "&height=" + iconSize + "&width=" + iconSize + "&Crop=0&Format=WebP&Quality=100"; 143 string imgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 144 145 <img loading="lazy" src="@imagePath" alt="@imgAltText" title="@Model.Item.GetString("Title")" style="height: @(iconSize)px; width: @(iconSize)px;"> 146 } 147 } 148 149 @helper RenderTitle() 150 { 151 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 152 { 153 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h4"); 154 string titleColor = Model.Item.GetString("TitleColor", "text-inherit"); 155 string titleOpacity = Model.Item.GetString("TitleOpacity", "opacity-100"); 156 string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); 157 string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} {titleColor} {titleOpacity} m-0\">"; 158 string headingLevelStop = $"</{headingLevel}>"; 159 160 @headingLevelStart 161 @Model.Item.GetString("Title") 162 @headingLevelStop 163 } 164 } 165 166 @helper RenderBody() 167 { 168 if (!string.IsNullOrEmpty(Model.Item.GetString("Text"))) 169 { 170 string textColor = Model.Item.GetString("TextColor", "text-inherit"); 171 string textOpacity = Model.Item.GetString("TextOpacity", "opacity-100"); 172 173 <p class="@textColor @textOpacity m-0">@Model.Item.GetString("Text")</p> 174 } 175 } 176
Error executing template "Designs/Swift/Paragraph/Swift_Feature.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.<>c__DisplayClass0_0.<RenderIconAndImage>b__0(TextWriter __razor_helper_writer) in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 100
   at CompiledRazorTemplates.Dynamic.RazorEngine_11727b348f0f459d99f99bc3c5ece5b1.Execute() in D:\dynamicweb.net\Solutions\Altex Holding\altexrtc.d365.staging.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_Feature.cshtml:line 26
   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 System.IO 3 4 @{ 5 string layout = Model.Item.GetRawValueString("Layout", "icon-top"); 6 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 7 contentPadding = contentPadding == "none" ? "" : contentPadding; 8 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 9 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 10 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 11 12 string target = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "target=\"_blank\"" : string.Empty; 13 string rel = Pageview.AreaSettings.GetBoolean("OpenLinksInNewTab") && Model.Item.GetString("Link").Contains("http") ? "rel=\"noopener\"" : string.Empty; 14 } 15 16 <div class="h-100 @(contentPadding)@(theme) item_@Model.Item.SystemName.ToLower()"> 17 @switch (layout) 18 { 19 case "icon-top": 20 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 21 { 22 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 23 } 24 25 <div class="d-flex flex-column gap-3 text-center mb-0-last-child"> 26 @{@RenderIconAndImage(layout)} 27 28 @if ( 29 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 30 !Model.Item.GetBoolean("HideTitle") || 31 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 32 ) 33 { 34 <div class="mb-0-last-child"> 35 @RenderTitle() 36 @RenderBody() 37 </div> 38 } 39 40 </div> 41 42 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 43 { 44 @:</a> 45 } 46 break; 47 case "icon-left": 48 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 49 { 50 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 51 } 52 53 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-start"> 54 @{@RenderIconAndImage(layout)} 55 56 @if ( 57 !string.IsNullOrEmpty(Model.Item.GetString("Title")) && 58 !Model.Item.GetBoolean("HideTitle") || 59 !string.IsNullOrEmpty(Model.Item.GetString("Text")) 60 ) 61 { 62 <div class="d-flex flex-column flex-grow-1 gap-3"> 63 @RenderTitle() 64 @RenderBody() 65 </div> 66 } 67 68 </div> 69 70 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 71 { 72 @:</a> 73 } 74 break; 75 case "icon-right": 76 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 77 { 78 @:<a href="@Model.Item.GetString("Link")" class="text-decoration-none d-block h-100" @target @rel> 79 } 80 81 <div class="d-flex flex-row align-items-stretch gap-3 h-100 text-end"> 82 <div class="d-flex flex-column flex-grow-1 gap-3"> 83 @RenderTitle() 84 @RenderBody() 85 </div> 86 87 @{@RenderIconAndImage(layout)} 88 </div> 89 if (!string.IsNullOrEmpty(Model.Item.GetString("Link"))) 90 { 91 @:</a> 92 } 93 break; 94 } 95 </div> 96 97 @helper RenderIconAndImage(string layout) 98 { 99 string iconSize = Model.Item.GetRawValueString("IconSize", "2"); 100 string imageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Image")) ? Model.Item.GetFile("Image").Path : ""; 101 string flexGrowClass = string.Empty; 102 103 switch (layout) { 104 case "icon-left": 105 case "icon-right": 106 flexGrowClass = "flex-grow-0"; 107 break; 108 } 109 110 if (!string.IsNullOrEmpty(Model.Item.GetString("Image"))) 111 { <div class="@flexGrowClass"> 112 @RenderIcon(imageSrc, iconSize) 113 </div> 114 } 115 else 116 { 117 string imagePath = Model.Item.GetRawValueString("Icon", ""); 118 119 if (!imagePath.ToLower().Contains("none") && imagePath != "") 120 { 121 <div class="@flexGrowClass"> 122 @RenderIcon(imagePath, iconSize) 123 </div> 124 } 125 } 126 } 127 128 @helper RenderIcon(string imagePath, string iconSize) 129 { 130 131 if (Path.GetExtension(imagePath).ToLower() == ".svg") 132 { 133 string iconColor = Model.Item.GetString("iconColor", "text-inherit"); 134 string iconOpacity = Model.Item.GetString("IconOpacity", "opacity-100"); 135 136 <div class="icon-auto @iconColor @iconOpacity" style="height: @(iconSize)px; width: @(iconSize)px;"> 137 @ReadFile(imagePath) 138 </div> 139 } 140 else 141 { 142 imagePath = "/Admin/Public/GetImage.ashx?image=" + imagePath + "&height=" + iconSize + "&width=" + iconSize + "&Crop=0&Format=WebP&Quality=100"; 143 string imgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 144 145 <img loading="lazy" src="@imagePath" alt="@imgAltText" title="@Model.Item.GetString("Title")" style="height: @(iconSize)px; width: @(iconSize)px;"> 146 } 147 } 148 149 @helper RenderTitle() 150 { 151 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 152 { 153 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h4"); 154 string titleColor = Model.Item.GetString("TitleColor", "text-inherit"); 155 string titleOpacity = Model.Item.GetString("TitleOpacity", "opacity-100"); 156 string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); 157 string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} {titleColor} {titleOpacity} m-0\">"; 158 string headingLevelStop = $"</{headingLevel}>"; 159 160 @headingLevelStart 161 @Model.Item.GetString("Title") 162 @headingLevelStop 163 } 164 } 165 166 @helper RenderBody() 167 { 168 if (!string.IsNullOrEmpty(Model.Item.GetString("Text"))) 169 { 170 string textColor = Model.Item.GetString("TextColor", "text-inherit"); 171 string textOpacity = Model.Item.GetString("TextOpacity", "opacity-100"); 172 173 <p class="@textColor @textOpacity m-0">@Model.Item.GetString("Text")</p> 174 } 175 } 176

Catalog RTC

Solutii complete pentru mediul tau de lucru

Produse noi

Solicita un proiect de mobilier office

Solutii personalizate in functie de spatiul disponibil si bugetul alocat. Proiectare si design.

Solicita o prezentare generala a produselor de igiena

Solutii profesionale de igiena si curatenie adaptate nevoilor din mediul tau de lucru. Consultanta de specialitate in crearea planului de igiena.

Produse cumparate frecvent

Aboneaza-te la newsletter pentru a afla cele mai noi promotii!

Prin abonarea la newsletter confirm ca sunt de acord cu Termenii si conditiile

Prin click pe „Accept toate”, sunteti de acord ca putem colecta informatii privind navigarea pe site, in diverse scopuri, inclusiv: funcționalitate, statistici și marketing.