Error executing template "Designs/EasyLaser2019/_parsed/index.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_026e5083c646424ea37cab44c67683f4.Execute() in e:\webroot\easylaser2019.se\Files\Templates\Designs\EasyLaser2019\_parsed\index.parsed.cshtml:line 86
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.PageViewModel>
2 @using System
3 @using System.Web
4 @using Dynamicweb.Frontend
5 @using Dynamicweb.Frontend.Devices
6 @using Softgear.Easylaser.Data.Frontend
7 @using Dynamicweb.Environment
8 @using Renderer = Softgear.Easylaser.Data.Frontend.Renderer
9
10 <!DOCTYPE html>
11 <html lang="@Pageview.Area.CultureInfo.TwoLetterISOLanguageName">
12 <head>
13 <!-- set the encoding of your site -->
14 <meta charset="utf-8">
15 <!-- set the viewport width and initial-scale on mobile devices -->
16 <meta name="viewport" content="width=device-width, initial-scale=1">
17
18 <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png">
19 <link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png">
20 <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png">
21 <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png">
22 <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png">
23 <link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png">
24 <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png">
25 <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png">
26 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png">
27 <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
28 <link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192">
29 <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
30 <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
31
32 <meta name="msapplication-TileColor" content="#ffd500">
33 <meta name="msapplication-TileImage" content="/mstile-144x144.png">
34 <meta name="theme-color" content="#ffffff">
35 <meta name="google-site-verification" content="EFUVZKz_7l3iqwRq3hEEAU8N18sbm7s1kJy9t21XjFY" />
36
37
38 @functions{
39 string GetCookieOptInPermission(string category)
40 {
41 bool categoryOrAllGranted = false;
42
43 if (CookieManager.IsCookieManagementActive)
44 {
45 var cookieOptInLevel = CookieManager.GetCookieOptInLevel();
46 var cookieOptInCategories = CookieManager.GetCookieOptInCategories();
47 categoryOrAllGranted = cookieOptInCategories.Contains(category) || cookieOptInLevel == CookieOptInLevel.All;
48 }
49
50 return categoryOrAllGranted ? "granted" : "denied";
51 }
52
53 bool AllowTracking()
54 {
55 bool allowTracking = true;
56 if (CookieManager.IsCookieManagementActive)
57 {
58 var cookieOptInLevel = CookieManager.GetCookieOptInLevel();
59 var cookieOptInCategories = CookieManager.GetCookieOptInCategories();
60
61 bool consentEither = (cookieOptInCategories.Contains("Statistics") || cookieOptInCategories.Contains("Marketing"));
62 bool consentFunctional = cookieOptInLevel == CookieOptInLevel.Functional;
63 bool consentAtLeastOne = cookieOptInLevel == CookieOptInLevel.All || (consentFunctional && consentEither);
64
65 allowTracking = consentAtLeastOne;
66 }
67 return allowTracking;
68 }
69 }
70
71 @if (Model.Area.FirstActivePage.ID == Model.ID)
72 {
73 <link preload rel="stylesheet" media="screen" href="/Admin/Resources/css/fonts.min.css">
74 }
75
76 <script src="https://www.google.com/recaptcha/api.js?render=6LdPZzYfAAAAALgP23U2TYXPMBXj__meGZBdVLgj"></script>
77
78 <link rel="stylesheet" media="print" href="/Files/Templates/Designs/EasyLaser2019/assets/css/easylaser-print.min.css?v=1.1">
79 <link rel="stylesheet" media="screen" href="https://cdnjs.cloudflare.com/ajax/libs/slim-select/1.23.0/slimselect.min.css">
80 <link preload prefetch rel="stylesheet" media="screen" href="/Files/Templates/Designs/EasyLaser2019/assets/css/easylaser.min.css?v=2.22">
81
82 @Model.MetaTags
83 @Renderer.RenderPartial("/master/partials/opengraph.cshtml", this.Model)
84
85 @{
86 var renderTitleFromSnippet = Convert.ToBoolean(Pageview.Page.PropertyItem["Render_Page_TitleFrom_Snippet"]);
87
88 if (renderTitleFromSnippet)
89 {
90 <title>@RenderSnippet("PageTitle") | Easy-Laser</title>
91 }
92 else
93 {
94 <title>@Model.Title | Easy-Laser</title>
95 }
96 }
97
98 @HrefLangTags.Generate()
99 <!--Metataggar-->
100 @Model.Area.Item.GetValue("Metataggar")
101
102
103 @* Google tag manager *@
104 @{
105 var googleTagManagerID = "GTM-N36XPN8";
106 bool allowTracking = AllowTracking();
107
108 <script>
109 window.dataLayer = window.dataLayer || [];
110 function gtag() { dataLayer.push(arguments); }
111
112 gtag('consent', 'default', {
113 'ad_storage': 'denied',
114 'ad_user_data': 'denied',
115 'ad_personalization': 'denied',
116 'analytics_storage': 'denied'
117 });
118 </script>
119 <script>
120 (function (w, d, s, l, i) {
121 w[l] = w[l] || []; w[l].push({
122 'gtm.start':
123 new Date().getTime(), event: 'gtm.js'
124 }); var f = d.getElementsByTagName(s)[0],
125 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
126 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
127 })(window, document, 'script', 'dataLayer', '@(googleTagManagerID)');
128 </script>
129 if (allowTracking)
130 {
131 string adConsent = GetCookieOptInPermission("Marketing");
132 string analyticsConsent = GetCookieOptInPermission("Statistics");
133 <script>
134 gtag('consent', 'update', {
135 'ad_storage': '@adConsent',
136 'ad_user_data': '@adConsent',
137 'ad_personalization': '@adConsent',
138 'analytics_storage': '@analyticsConsent'
139 });
140 </script>
141 }
142 }
143
144
145
146 <style>
147 @{
148 var isDesktop = Dynamicweb.Frontend.PageView.Current().Device == DeviceType.Desktop;
149
150 if (!isDesktop)
151 {
152 <text>
153 .btn {
154 padding-top: 11px!important;
155 }
156
157 </text>
158 }
159 }
160 </style>
161 </head>
162 <body>
163 @Model.Area.Item.GetValue("Analytics_Script_Body")
164 <noscript>
165 <div>Javascript must be enabled for the correct page display</div>
166 </noscript>
167
168 <header class="container-fluid">
169 @Renderer.RenderPartial("/master/partials/header.cshtml", this.Model)
170 </header>
171
172 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
173
174
175 @{
176 var pageBgColor = Model.PropertyItem.GetString("Background_Color");
177 var renderBreadCrumb = Model.PropertyItem.GetBoolean("Render_Breadcrumb");
178
179
180 }
181
182 <div class="container-fluid">
183 @Model.Placeholder("headercontent", "Page Header", "items-allowed:Header")
184 </div>
185 <div class="container-fluid" style="background-color: @HttpUtility.UrlDecode(pageBgColor)">
186 @if (renderBreadCrumb)
187 {
188 <div class="container u-mt-85">
189 <div class="grid">
190 <div class="col-auto">
191 @RenderNavigation(new
192 {
193 StartLevel = 1,
194 EndLevel = 3,
195 Expandmode = "PathOnly",
196 Template = "Breadcrumb.xslt"
197 })
198 </div>
199
200 </div>
201 </div>
202 }
203
204 @Model.Placeholder("pagecontent", "Page Content", "items-allowed:Content,TrainingItem")
205
206 </div>
207 <div style="display: none">
208 @Model.Placeholder("hiddenpagecontent", "Hidden Content")
209 </div>
210
211 <footer class="flex-footer">
212
213 @Renderer.RenderPartial("/master/partials/newsletter.cshtml", this.Model)
214 @Renderer.RenderPartial("/master/partials/footer.cshtml", this.Model)
215 </footer>
216 <script src="/Files/Templates/Designs/EasyLaser2019/assets/js/vendor/jquery-3.6.0.min.js"></script>
217 <script src="/Files/Templates/Designs/EasyLaser2019/assets/js/vendor/jquery.cookie.min.js"></script>
218 <script defer src="/Files/Templates/Designs/EasyLaser2019/assets/js/vendor/slimselect.min.js"></script>
219 <script defer src="/Files/Templates/Designs/EasyLaser2019/assets/js/vendor/lazysizes.min.js"></script>
220 <script defer src="/Files/Templates/Designs/EasyLaser2019/assets/js/public/easylaser.min.js?v=1.87" type="text/javascript"></script>
221 <script defer src="/Files/Templates/Designs/EasyLaser2019/assets/js/forms.js?v=1.87" type="text/javascript"></script>
222 @Model.Area.Item.GetString("Item.Area.OtherScripts.Value")
223
224 </body>
225 </html>