Error executing template "Designs/Jks2022/_parsed/DepartmentPage.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_ed42ffe36d8a4d4385b30fe24c53863e.Execute() in D:\Web\jks.dk\Files\Templates\Designs\Jks2022\_parsed\DepartmentPage.parsed.cshtml:line 270
   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 3 @{ 4 //for cookieinformation and flags 5 string languageCode = Pageview.Area.Culture.Substring(0, 2).ToUpper(); 6 int modelId = Model.Area.ID; 7 string googleTagManagerId = Model.Area.Item.GetString("GoogleTagManager"); 8 } 9 10 <!DOCTYPE html> 11 <html> 12 <head> 13 14 <!-- Google tag (gtag.js) --> 15 @if (modelId == 18) 16 { 17 <script async src="https://www.googletagmanager.com/gtag/js?id=G-ELDPWGB1ZZ"></script> 18 <script> 19 window.dataLayer = window.dataLayer || []; 20 function gtag() { dataLayer.push(arguments); } 21 gtag('js', new Date()); 22 gtag('config', 'G-ELDPWGB1ZZ'); 23 </script> 24 } 25 else if (modelId == 10) 26 { 27 <script async src="https://www.googletagmanager.com/gtag/js?id=G-D299QWVPJP"></script> 28 <script> 29 window.dataLayer = window.dataLayer || []; 30 function gtag() { dataLayer.push(arguments); } 31 gtag('js', new Date()); 32 gtag('config', 'G-D299QWVPJP'); 33 </script> 34 } 35 else if (modelId == 12) 36 { 37 <script async src="https://www.googletagmanager.com/gtag/js?id=G-PHS2ZDS6BW"></script> 38 <script> 39 window.dataLayer = window.dataLayer || []; 40 function gtag() { dataLayer.push(arguments); } 41 gtag('js', new Date()); 42 gtag('config', 'G-PHS2ZDS6BW'); 43 </script> 44 } 45 <!-- End Google tag (gtag.js) --> 46 47 <meta charset="utf-8" /> 48 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 49 <title>@Model.Title</title> 50 <meta name="description" content="@Model.Description" /> 51 52 <link href="@Model.Area.Item.GetFile("FavIcon")" type="image/x-icon" rel="icon" /> 53 <link href="@Model.Area.Item.GetFile("FavIcon")" type="image/x-icon" rel="shortcut icon" /> 54 55 @if (System.Web.HttpContext.Current.Request.Url.Host.Contains("staging") || System.Web.HttpContext.Current.Request.Url.Host.Contains("vestjyskmarketing") || Pageview.Area.Noindex) 56 { 57 <meta name="robots" content="noindex,nofollow" /> 58 } 59 60 <script id="CookieConsent" src="https://policy.app.cookieinformation.com/uc.js" data-culture="@languageCode" type="text/javascript"></script> 61 62 @if (!String.IsNullOrEmpty(googleTagManagerId)) 63 { 64 <!-- Google Tag Manager --> 65 <script> 66 67 window.addEventListener('CookieInformationConsentGiven', function (event) { 68 if (CookieInformation.getConsentGivenFor('cookie_cat_marketing')) { 69 70 (function (w, d, s, l, i) { 71 w[l] = w[l] || []; w[l].push({ 72 'gtm.start': 73 new Date().getTime(), event: 'gtm.js' 74 }); var f = d.getElementsByTagName(s)[0], 75 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 76 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 77 })(window, document, 'script', 'dataLayer', '@googleTagManagerId'); 78 79 } 80 }, false); 81 82 </script> 83 <!-- End Google Tag Manager --> 84 } 85 86 87 @RenderSnippet("Metas") 88 89 @if (modelId == 17) 90 { 91 <link rel="stylesheet" href="/Files/Templates/Designs/dist/CareerJks2022.css?v=@System.IO.File.GetLastWriteTime(AppDomain.CurrentDomain.BaseDirectory + "/Files/Templates/Designs/dist/CareerJks2022.css").Ticks" /> 92 } 93 else if (modelId == 16) 94 { 95 <link rel="stylesheet" href="/Files/Templates/Designs/dist/ProfJks2022.css?v=@System.IO.File.GetLastWriteTime(AppDomain.CurrentDomain.BaseDirectory + "/Files/Templates/Designs/dist/ProfJks2022.css").Ticks" /> 96 } 97 else 98 { 99 <link rel="stylesheet" href="/Files/Templates/Designs/dist/Jks2022.css?v=@System.IO.File.GetLastWriteTime(AppDomain.CurrentDomain.BaseDirectory + "/Files/Templates/Designs/dist/Jks2022.css").Ticks" /> 100 } 101 102 @RenderSnippet("Styles") 103 @RenderSnippet("Scripts") 104 </head> 105 106 107 <body> 108 109 @if (!String.IsNullOrEmpty(googleTagManagerId)) 110 { 111 <!-- Google Tag Manager (noscript) --> 112 <noscript> 113 <iframe src="" data-consent-src="https://www.googletagmanager.com/ns.html?id=@googleTagManagerId" data-category-consent="cookie_cat_marketing" height="0" width="0" style="display:none;visibility:hidden"></iframe> 114 </noscript> 115 <!-- End Google Tag Manager (noscript) --> 116 } 117 118 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 119 120 @using Dynamicweb.Content 121 @using Dynamicweb.Content.Files.Metadata 122 @using Dynamicweb.Extensibility; 123 124 @{ 125 var areaID = Dynamicweb.Frontend.PageView.Current().Area.ID; 126 var pageID = Dynamicweb.Frontend.PageView.Current().Page.ID; 127 var pageType = Dynamicweb.Frontend.PageView.Current().Page.ItemType; 128 var pageService = ServiceLocator.Current.GetPageService(); 129 var rootPages = pageService.GetRootPagesForArea(areaID).Where(p => p.Active && p.Item != null).ToArray(); 130 int searchpageIdGlobal = GetPageIdByNavigationTag("SearchPageGlobal"); 131 } 132 @{ 133 var navigationSettingsDesktop = new Dynamicweb.Frontend.Navigation.NavigationSettings() 134 { 135 StartLevel = 1, 136 StopLevel = 2, 137 ExpandMode = Dynamicweb.Frontend.Navigation.ExpandMode.All 138 }; 139 var navigationTemplateDesktop = "Navigation/NavigationDesktop.cshtml"; 140 141 var navigationSettingsMobile = new Dynamicweb.Frontend.Navigation.NavigationSettings() 142 { 143 StartLevel = 1, 144 StopLevel = 999, 145 ExpandMode = Dynamicweb.Frontend.Navigation.ExpandMode.All 146 }; 147 148 var navigationTemplateMobile = "Navigation/NavigationMobile.cshtml"; 149 string classHeader = Dynamicweb.Core.Converter.ToString(Dynamicweb.Context.Current.Items["headerCLass"]); 150 //hack because the special page does not understand the context properly? 151 if (Model.ItemType == "JksDividerPage") 152 { 153 classHeader += "bg-primary nav-light"; 154 } 155 else if(Model.ItemType == "DepartmentPage") 156 { 157 classHeader += "bg-eggwhite"; 158 } 159 160 161 string logoDesktop = Model.Area.Item.GetString("LogoWide"); 162 string logoMobile = Model.Area.Item.GetString("LogoTall"); 163 164 if (pageType == "Job" && !classHeader.Contains("nav-light")) 165 { 166 classHeader = classHeader + " nav-light "; 167 } 168 169 if (!classHeader.Contains("nav-light")) 170 { 171 logoDesktop = logoDesktop.Replace("white", "rgb"); 172 logoMobile = logoMobile.Replace("white", "rgb"); 173 } 174 } 175 <div class="header-wrapper"> 176 <header class="container-fluid header @classHeader"> 177 <a href="/" id="js-header-logo" class="header__logo-wrapper" title="@Translate("Go to frontpage")"> 178 <picture> 179 <source media="(min-width:1200px)" srcset="@logoDesktop"> 180 <img class="header__logo-wrapper__logo" src="@logoMobile" alt="@Translate("Logo") @Model.Area.Name"> 181 </picture> 182 </a> 183 184 <div class="d-flex justify-content-around align-items-center"> 185 <div class="header__desktop__menu__item--search d-lg-none me-4"> 186 <a href="/Default.aspx?ID=@searchpageIdGlobal&Search=" class="header__burger__menu__title--search--wrapper "> 187 <div class="header__burger__menu__title--searchicon"> 188 </div> 189 </a> 190 191 </div> 192 <div class="header__burger header__burger--active d-lg-none"> 193 <input class="header__burger__checkbox" type="checkbox" id="js-burger-checkbox" /> 194 <span class="header__burger__line"></span> 195 <span class="header__burger__line"></span> 196 <span class="header__burger__line"></span> 197 198 @Navigation.RenderNavigation(navigationTemplateMobile, navigationSettingsMobile) 199 </div> 200 201 </div> 202 203 204 <div class="flex-column header__desktop__menu-wrapper"> 205 @if (Model.Area.Item.GetItems("Shortcuts").Count > 0) 206 { 207 <ul class="header__desktop__shortcuts justify-content-end" id="js-menu-shortcuts"> 208 @foreach (var list in Model.Area.Item.GetItems("Shortcuts")) 209 { 210 <li> 211 <a href="@list.GetLink("Link")">@list.GetString("Tekst")</a> 212 </li> 213 } 214 </ul> 215 } 216 217 @Navigation.RenderNavigation(navigationTemplateDesktop, navigationSettingsDesktop) 218 </div> 219 220 221 </header> 222 223 @if (true) 224 { 225 <div class="d-none d-md-block header-mega-menu container-fluid"> 226 227 @foreach (var rootPage in rootPages) 228 { 229 230 if (rootPage.Item.ContainsKey("ShowExtendedMenu") && rootPage.Item["ShowExtendedMenu"] != null && bool.Parse(rootPage.Item["ShowExtendedMenu"].ToString())) 231 { 232 var details = rootPage.Item["ExtendedMenuDetails"]; 233 var title = rootPage.MenuText; 234 var subPages = pageService.GetPagesByParentID(rootPage.ID).Where(p => p.Active); 235 236 <div class="mega-menu row" role="menu" menuId="@rootPage.ID"> 237 <div class="col-7"> 238 <div class="col-10 col-lg-8 col-xl-6"> 239 <a href="@rootPage.GetPageHrefValue()" class="section-title"><h3 class="title">@title<span class="arrow"></span></h3></a> 240 <p class="details">@details</p> 241 </div> 242 </div> 243 <div class="col-5 sub-pages"> 244 <div class="row"> 245 @foreach (var subpage in subPages) 246 { 247 <div class="col-6 col-xl-6 link-item"><a href="@subpage.GetPageHrefValue()">@subpage.MenuText</a></div> 248 } 249 </div> 250 </div> 251 </div> 252 } 253 } 254 </div> 255 } 256 257 </div> 258 259 260 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 261 @using Jks.ViewModel.Job 262 @using ClientiCoreDotNet.Extensions.String; 263 264 @Title("Main department template") 265 266 267 @{ 268 var departmentData = Model.Item.GetItem("DepartmentData"); 269 bool businessPage = Model.Item.GetBoolean("BusinessPage"); 270 string departmentId = departmentData.GetString("Department_ID"); 271 string areaId = Model.Area.ID.ToString(); 272 IEnumerable<IJobViewModel> jobsDepartment = Jks.ViewModels.Jobs.GetJobsByDepartmentId(departmentId, areaId); 273 274 var imageTopObj = departmentData.GetFile("Image"); 275 string imageTop = "/Admin/Public/GetImage.ashx?Image=" + departmentData.GetFile("Image") + "&Crop=7&Format=webP&width=1000&Height=600&Compression=75"; 276 if (imageTopObj != null && imageTopObj.HasFocalPoint()) 277 { 278 imageTop += "&x=" + imageTopObj.FocalX + "&y=" + imageTopObj.FocalY; 279 } 280 281 var imageBusinessObj = departmentData.GetFile("Image_Business_FiftyFifty"); 282 string imageBusiness = "/Admin/Public/GetImage.ashx?Image=" + departmentData.GetFile("Image_Business_FiftyFifty") + "&Crop=7&Format=webP&width=1000&Height=600&Compression=75"; 283 if (imageBusinessObj != null && imageBusinessObj.HasFocalPoint()) 284 { 285 imageBusiness += "&x=" + imageBusinessObj.FocalX + "&y=" + imageBusinessObj.FocalY; 286 } 287 288 int formIdUsed = businessPage ? Model.Area.Item.GetLink("DepartmentFormBusinessParagraph").ParagraphId : Model.Area.Item.GetLink("DepartmentFormPrivateParagraph").ParagraphId; 289 290 string urlHost = "https://" + System.Web.HttpContext.Current.Request.Url.Host; 291 292 string allJobsLink = string.IsNullOrEmpty(Model.Area.Item.GetString("Link_To_All_Jobs")) ? "/for-vikarer/ledige-stillinger" : Model.Area.Item.GetString("Link_To_All_Jobs"); 293 } 294 295 296 <div class="department"> 297 <div class="container-fluid container-fluid-extra bg-eggwhite padding-standard department__entry-picture"> 298 <section class="entry-picture entry-picture-large padding-standard-bund"> 299 <div class="row flex-row-reverse"> 300 <div class="entry-picture__image-wrapper col-12 col-lg-6 col-xl-7 offset-lg-1 d-flex flex-column justify-content-center"> 301 <div class="entry-picture__image" style="background-image: url('@imageTop')"></div> 302 </div> 303 <div class="col-12 col-lg-5 col-xl-4 entry-picture__text-wrapper d-flex flex-column justify-content-center"> 304 <h1 class="big-header-font"> 305 @departmentData.GetString("WebOverskrift") 306 </h1> 307 <div class="entry-picture__text "> 308 @departmentData.GetString("Description") 309 <p> 310 @Translate("Ring til os på") <a href="tel:@departmentData.GetString("Phone")" title=""> @departmentData.GetString("Phone")</a> @Translate("eller skriv til os på") <a href="mailto:@departmentData.GetString("Email")" title=""> @departmentData.GetString("Email")</a> 311 </p> 312 </div> 313 314 <div> 315 @if (businessPage) 316 { 317 <a href="#anchor-contactform" class="btn btn-secondary btn-sm mt-3"> 318 @Translate("Ring mig op") 319 </a> 320 } 321 else 322 { 323 <a href="/for-vikarer/bliv-vikar" class="btn btn-secondary btn-sm mt-3"> 324 @Translate("Bliv vikar") 325 </a> 326 } 327 328 @if (!businessPage) 329 { 330 <a href="#anchor-contactform" class="btn btn-secondary btn-sm mt-3"> 331 @Translate("Kontakt JKS") 332 </a> 333 } 334 </div> 335 </div> 336 </div> 337 </section> 338 </div> 339 340 @if (!businessPage) 341 { 342 <div class="container-fluid container-fluid-extra--xxxl margin-half-bottom padding-standard-top"> 343 <section class="employees"> 344 <h2 class="employees__subheader">@Translate("Vores medarbejdere")</h2> 345 @RenderItemList(new 346 { 347 ItemType = "Consultant", 348 ListSourceType = "Area", 349 ListSourceArea = areaId, 350 ItemFieldsList = "*", 351 ListTemplate = "ItemPublisher/List/ConsultantList.cshtml", 352 ListPageSize = "1000", 353 Filter = "Department_IDs contains \"" + departmentId + "\"" 354 }) 355 </section> 356 </div> 357 <div class="container-fluid container-fluid-extra"> 358 <hr style="margin: 0;"> 359 </div> 360 } 361 362 363 @if (jobsDepartment.Any() && !businessPage) 364 { 365 <div class="container-fluid container-fluid-extra bg-white"> 366 <section class="padding-standard"> 367 <div class="company__slider-wrapper"> 368 <div class="row"> 369 <div class="col-12 col-md-4 col-lg-4"> 370 <div class="company__slider-wrapper__text-wrapper"> 371 <h2 class="company__slider-wrapper__text-wrapper__header">@(Translate("Ledige stillinger i området"))</h2> 372 <div class="company__slider-wrapper__text-wrapper__text"> 373 @(Translate("JKS har altid mere end 50 ledige vikarjob – se om der er et job for dig!")) 374 </div> 375 </div> 376 377 <div class="company__slider-wrapper__controls"> 378 <div class="arrow-small js-company__slider__controls-prev company__slider-wrapper__controls-prev user-select-none"></div> 379 <div class="arrow-small js-company__slider__controls-next company__slider-wrapper__controls-next user-select-none"></div> 380 </div> 381 </div> 382 383 <div class="col-12 col-md-8 col-xl-9 company__slider-wrapper__wrapper"> 384 <div class="js-company-slider company__slider"> 385 <div class="swiper-wrapper"> 386 387 @foreach (var job in jobsDepartment) 388 { 389 390 string jobDescription = job.DescriptionShort; 391 string jobDescriptionLong = job.Description; 392 string jobSubtitle = job.Subtitle; 393 string finalDescription = (string.IsNullOrEmpty(jobDescription) ? jobDescriptionLong : jobDescription).StripHtml(); 394 string description = (string.IsNullOrEmpty(jobSubtitle) ? finalDescription : jobSubtitle).StripHtml().TruncateHtml(80, "..."); 395 string jobUrl = "/Default.aspx?ID=" + job.Id; 396 397 <a href="@jobUrl" class="company__slider__item js-company-slider-item col-12 col-sm-7 col-md-8 col-lg-7 col-xl-6 col-xxl-5" title="@Translate("Go to") @job.Title"> 398 399 <p class="company__slider__item__date">@job.ActiveFrom</p> 400 401 <h3 class="company__slider__item__text"> 402 @job.Title 403 </h3> 404 405 <p class="company__slider__item__subtext"> 406 @description 407 </p> 408 409 <span class="company__slider__item__link" href="#">@Translate("Se jobopslag")</span> 410 </a> 411 } 412 413 </div> 414 </div> 415 </div> 416 </div> 417 </div> 418 <div class="text-center pt-rem-5"> 419 <a href="@allJobsLink" class="btn btn-primary btn-transparant "> 420 @Translate("Alle ledige stillinger") 421 </a> 422 </div> 423 </section> 424 </div> 425 } 426 427 428 @if (businessPage) 429 { 430 <div class="container-fluid container-fluid-extra padding-standard"> 431 <section class="big-font-wrapper big-font-wrapper-smaller"> 432 <div class="row"> 433 <div class="d-flex"> 434 <h2 class="mb-5"> 435 @departmentData.GetString("ContentBusinessHeadline") 436 </h2> 437 </div> 438 </div> 439 440 <div class="row columns__content"> 441 <div class="col-12 col-lg-5"> 442 @departmentData.GetString("ContentBusinessColumn1") 443 </div> 444 445 <div class="col-12 col-lg-6 offset-lg-1 pt-rem-1 pt-rem-lg-0"> 446 @departmentData.GetString("ContentBusinessColumn2") 447 </div> 448 </div> 449 </section> 450 </div> 451 452 453 <div class="container-fluid container-fluid-extra "> 454 <section class="entry-picture entry-picture-large padding-standard-bottom"> 455 <div class="row "> 456 <div class="entry-picture__image-wrapper col-12 col-lg-6 col-xl-7 d-flex flex-column justify-content-center"> 457 <div class="entry-picture__image" style="background-image: url('@imageBusiness')"></div> 458 </div> 459 <div class="col-12 col-lg-5 col-xl-4 entry-picture__text-wrapper offset-lg-1 d-flex flex-column justify-content-center"> 460 <h2 class="entry-picture__header"> 461 @departmentData.GetString("ContentBusinessHeadlineFiftyFifty") 462 </h2> 463 <div class="entry-picture__text "> 464 @departmentData.GetString("ContentBusinessTextFiftyFifty") 465 </div> 466 </div> 467 </div> 468 </section> 469 </div> 470 } 471 472 @if (businessPage) 473 { 474 <div class="container-fluid container-fluid-extra"> 475 <hr style="margin: 0;"> 476 </div> 477 <div class="container-fluid container-fluid-extra--xxxl margin-half-bottom padding-standard-top"> 478 <section class="employees"> 479 <h2 class="employees__subheader">@Translate("Vores medarbejdere")</h2> 480 @RenderItemList(new 481 { 482 ItemType = "Consultant", 483 ListSourceType = "Area", 484 ListSourceArea = areaId, 485 ItemFieldsList = "*", 486 ListTemplate = "ItemPublisher/List/ConsultantList.cshtml", 487 ListPageSize = "1000", 488 Filter = "Department_IDs contains \"" + departmentId + "\"" 489 }) 490 </section> 491 </div> 492 } 493 494 <section class="map-info"> 495 <div class="text-center"> 496 <h2 class="big-header-font d-block d-lg-none mt-5 mb-4">Her finder <br /> du os</h2> 497 </div> 498 <div class="row g-0"> 499 <div id="js-department-info-@departmentId" class="col-12 col-lg-5 justify-content-center d-flex order-lg-first order-last bg-eggwhite"> 500 @{ 501 string[] latlng = departmentData.GetString("LatLong").Split(','); 502 } 503 <div class="department-map__details"> 504 <div class="department-map__details__top"> 505 <h2 class="big-header-font d-none d-lg-block mb-5 pb-3">@Translate("Her finder du os")</h2> 506 </div> 507 <div class="department-map__details__bottom row g-0"> 508 <h2 id="lat-long" data-lat="@latlng[0]" data-lng="@latlng[1]" data-urlmapgoogle="@departmentData.GetString("Address"),@departmentData.GetString("City")">JKS @departmentData.GetString("Web_Name")</h2> 509 <div class="col"> 510 <p id="js-department-adress"> 511 @departmentData.GetString("Address")<br /> 512 @departmentData.GetString("Postal_Code") @departmentData.GetString("City") 513 </p> 514 @Pageview.Area.Item["OpeningHours"] 515 516 </div> 517 <div class="col"> 518 <p> 519 <a href="tel:@departmentData.GetString("Phone")">T: @departmentData.GetString("Phone")</a><br /> 520 <a href="mailto:@departmentData.GetString("Email")">@departmentData.GetString("Email")</a> 521 </p> 522 @Pageview.Area.Item["PhoneHours"] 523 </div> 524 </div> 525 526 </div> 527 528 </div> 529 <div class="col-12 col-lg-7"> 530 <div id="js-department-map-single" class="department-map__map" data-language="@Pageview.Area.CultureInfo.TwoLetterISOLanguageName"> 531 </div> 532 </div> 533 </div> 534 535 536 </section> 537 538 @if (formIdUsed > 0 && !String.IsNullOrEmpty(departmentData.GetString("Email"))) 539 { 540 541 542 <div class="container-padding-mobile-lg" id="anchor-contactform"> 543 <section class="contact padding-standard"> 544 <div class="d-flex flex-column-reverse flex-lg-row"> 545 <div class="col-12 col-lg-6 contact__form contact__form__padding d-flex flex-column justify-content-center pt-rem-2 pt-rem-lg-2 pb-rem-lg-2 p-rem-xl-7"> 546 <h2 class="contact__form__header"> 547 @if (!businessPage) 548 { 549 @Translate("Ring mig op?") 550 } 551 else 552 { 553 @Translate("Kontakt os") 554 } 555 </h2> 556 <div class="contact__form__text"> 557 <p>@Translate("Fortæl os, hvad vi kan gøre for dig – og vi hjælper så hurtigt som muligt.")</p> 558 </div> 559 560 @RenderParagraphContent(formIdUsed) 561 </div> 562 <div class="col-12 col-lg-6 contact__image @if(!businessPage){<text>small</text>} background-center" style="background-image: url('/Admin/Public/GetImage.ashx?Image=/Files/Images/Jks22/department-image-contactform.jpg&amp;Crop=7&amp;Format=webP&amp;width=1110&amp;Height=1000&amp;Quality=75')"></div> 563 </div> 564 </section> 565 </div> 566 567 } 568 </div> 569 570 @SnippetStart("Metas") 571 @if (businessPage) 572 { 573 if (!String.IsNullOrEmpty(departmentData.GetString("SOME_Title_Business"))) 574 { 575 <meta property="og:title" content="@departmentData.GetString("SOME_Title_Business")" /> 576 } 577 578 if (!String.IsNullOrEmpty(departmentData.GetString("SOME_Image_Busines"))) 579 { 580 <meta property="og:image" content="@(urlHost)@departmentData.GetString("SOME_Image_Busines")" /> 581 } 582 } 583 else 584 { 585 if (!String.IsNullOrEmpty(departmentData.GetString("SOME_Title_Temp"))) 586 { 587 <meta property="og:title" content="@departmentData.GetString("SOME_Title_Temp")" /> 588 } 589 if (!String.IsNullOrEmpty(departmentData.GetString("SOME_Image_Temp"))) 590 { 591 <meta property="og:image" content="@(urlHost)@departmentData.GetString("SOME_Image_Temp")" /> 592 } 593 } 594 @SnippetEnd("Metas") 595 596 597 @SnippetStart("JavaScriptBottom") 598 <script type="text/javascript"> 599 var mailRecipientContactForm = document.getElementById("MailRecipient"); 600 if (mailRecipientContactForm) { 601 mailRecipientContactForm.value = "@departmentData.GetString("Email")"; 602 } 603 </script> 604 @SnippetEnd("JavaScriptBottom") 605 606 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 607 608 @{ 609 int formIdParagraph = Dynamicweb.Core.Converter.ToInt32(Model.Area.Item.GetString("FooterForm")?.Substring(Model.Area.Item.GetString("FooterForm").LastIndexOf('#') + 1)); 610 } 611 612 <footer class="footer"> 613 <div class="container-fluid container-fluid-extra "> 614 <div class="row position-relative"> 615 <div class="col-12 col-md-7"> 616 <div class="footer__form-wrapper"> 617 <h3 class="footer__form-wrapper__header"> 618 <span class="footer__form-wrapper__header__text">@Model.Area.Item.GetString("FooterFormHeadline")</span> 619 620 <div class="footer__form-wrapper__header__svg-wrapper"> 621 <svg class="js-footer-form-btn footer__form-wrapper__header__svg-wrapper__svg arrow-small" version="1.1" id="Layer_1" 622 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 623 viewBox="0 0 71 71" style="enable-background:new 0 0 71 71;" xml:space="preserve"> 624 <g> 625 <path d="M37.4,26.7l8.8,8.8l-8.8,8.8l-1.9-2l3.3-3.3c0.7-0.7,1.6-1.2,2.9-1.9l-0.4-1c-1.1,0.4-2.1,0.8-3.7,0.8L24.8,37v-2.9 626 L37.6,34c1.6,0,2.8,0.5,3.7,0.8l0.4-1c-1.4-0.7-2.2-1.1-3-1.9l-3.3-3.2L37.4,26.7z" /> 627 </g> 628 </svg> 629 </div> 630 </h3> 631 632 <p class="footer__form-wrapper__text"> 633 @Model.Area.Item.GetString("FooterFormSubHeadline") 634 </p> 635 636 @if (formIdParagraph > 0 && String.IsNullOrEmpty(System.Web.HttpContext.Current.Request.QueryString["pid"])) 637 { 638 @RenderParagraphContent(formIdParagraph) 639 } 640 </div> 641 </div> 642 <div class="col-12"> 643 <div class="d-flex footer__bottom flex-wrap flex-xxl-nowrap"> 644 <div class="flex-fill d-none d-lg-block footer__bottom__logo-wrapper pe-lg-3"> 645 <img class="footer__bottom__logo-wrapper__logo" src="@Model.Area.Item.GetFile("LogoFooter")" alt="@Translate("Logo")" /> 646 </div> 647 648 <ul class="flex-fill footer__bottom__list pe-2 pe-sm-3"> 649 <li class="footer__bottom__list__header">@Model.Area.Item.GetString("FooterHeadlineLinkList1")</li> 650 @foreach (var list in Model.Area.Item.GetItems("FooterLinkList1")) 651 { 652 <li class="footer__bottom__list__item"> 653 <a class="footer__bottom__list__item__link" href="@list.GetLink("Link")" title="@Translate("Go to") @list.GetString("Tekst")">@list.GetString("Tekst")</a> 654 </li> 655 } 656 </ul> 657 <ul class="flex-fill footer__bottom__list px-2 px-sm-3"> 658 <li class="footer__bottom__list__header">@Model.Area.Item.GetString("FooterHeadlineLinkList2")</li> 659 @foreach (var list in Model.Area.Item.GetItems("FooterLinkList2")) 660 { 661 <li class="footer__bottom__list__item"> 662 <a class="footer__bottom__list__item__link" href="@list.GetLink("Link")" title="@Translate("Go to") @list.GetString("Tekst")">@list.GetString("Tekst")</a> 663 </li> 664 } 665 </ul> 666 667 @if (Model.Area.Item.GetItems("FooterLinkList3").Count() > 0) 668 { 669 <ul class="flex-fill footer__bottom__list pe-2 pe-sm-3"> 670 <li class="footer__bottom__list__header mt-3 mt-sm-0">@Model.Area.Item.GetString("FooterHeadlineLinkList3")</li> 671 @foreach (var list in Model.Area.Item.GetItems("FooterLinkList3")) 672 { 673 <li class="footer__bottom__list__item"> 674 <a class="footer__bottom__list__item__link" href="@list.GetLink("Link")" title="@Translate("Go to") @list.GetString("Tekst")">@list.GetString("Tekst")</a> 675 </li> 676 } 677 </ul> 678 } 679 680 <div class="flex-fill footer__bottom__follow d-flex flex-column"> 681 <span class="footer__bottom__follow__header d-none d-lg-block">@Translate("Follow us")</span> 682 <div> 683 @foreach (var icon in Model.Area.Item.GetItems("SocialIcons")) 684 { 685 <a href="@icon.GetLink("Link")" title="@Translate("Go to") @icon.GetString("LinkAltText")" class="d-inline-block"> 686 <img class="footer__bottom__follow__linkedin img-fluid" src="@icon.GetFile("Icon")" alt="@icon.GetString("LinkAltText")" /> 687 </a> 688 689 } 690 </div> 691 @if (!Model.Area.Item.GetBoolean("Hide_Branding_Logo")) 692 { 693 <a href="#"> 694 <img class="footer__bottom__follow__jks img-fluid" src="@Model.Area.Item.GetFile("LogoBranding")" alt="@Translate("Logo branding")" /> 695 </a> 696 } 697 </div> 698 </div> 699 </div> 700 @if (!String.IsNullOrEmpty(Model.Area.Item.GetString("AAA_Logo"))) 701 { 702 <div id="aaa_rating" class="aaa_rating"> 703 @Model.Area.Item.GetString("AAA_Logo") 704 </div> 705 } 706 </div> 707 </div> 708 709 </footer> 710 711 @if (modelId == 17) 712 { 713 <script src="/Files/Templates/Designs/dist/CareerJks2022.js?v=@System.IO.File.GetLastWriteTime(AppDomain.CurrentDomain.BaseDirectory + "/Files/Templates/Designs/dist/CareerJks2022.css").Ticks"></script> 714 } 715 else if (modelId == 16) 716 { 717 <script src="/Files/Templates/Designs/dist/ProfJks2022.js?v=@System.IO.File.GetLastWriteTime(AppDomain.CurrentDomain.BaseDirectory + "/Files/Templates/Designs/dist/ProfJks2022.css").Ticks"></script> 718 } 719 else 720 { 721 <script src="/Files/Templates/Designs/dist/Jks2022.js?v=@System.IO.File.GetLastWriteTime(AppDomain.CurrentDomain.BaseDirectory + "/Files/Templates/Designs/dist/Jks2022.css").Ticks"></script> 722 } 723 724 <!--Used for youtube video on site--> 725 <div class="modal fade" id="youtubeModal" aria-hidden="true" tabindex="-1"> 726 <div class="modal-dialog modal-xl modal-dialog-centered justify-content-center"> 727 <div class="modal-content"> 728 <div id="js-ytplayer"></div> 729 </div> 730 </div> 731 </div> 732 733 @RenderSnippet("JavaScriptBottom") 734 </body> 735 736 </html>