Error executing template "Designs/Iris/_parsed/I_BlogPost.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_702f9c7bf6464ef2a867eeed135a51da.Execute() in E:\dynamicweb.net\Solutions\skabertrang\marchen.dw9.dynamicweb-cms.com\Files\Templates\Designs\Iris\_parsed\I_BlogPost.parsed.cshtml:line 455
   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.b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @using System.Web; 2 @using System.IO; 3 @using System.Linq; 4 <!DOCTYPE html> 5 @{ 6 var thecssfile = new FileInfo(HttpContext.Current.Server.MapPath("~" + @GetString("Template:DesignBaseUrl") + "/css/i_app.css")); 7 var thecssstamp = thecssfile.LastWriteTime.ToString("yyyyMMddhhmmss"); 8 var thejsfile = new FileInfo(HttpContext.Current.Server.MapPath("~" + @GetString("Template:DesignBaseUrl") + "/javascript/compressed/i_compressed.js")); 9 var thejsstamp = thejsfile.LastWriteTime.ToString("yyyyMMddhhmmss"); 10 11 var url = GetGlobalValue("Global:Request.Host"); 12 var imagetag = GetString("Item.OpenGraphImage.Value"); 13 var cookieText = ""; 14 if (!string.IsNullOrEmpty(GetString("DwCookieWarning"))) 15 { 16 cookieText = GetString("Item.Area.CookieText").Replace("\"", "'").Replace(Environment.NewLine, ""); 17 } 18 var headerSettings = ""; 19 if (GetString("Item.Area.FixedHeader") == "False") 20 { 21 headerSettings = "content-after-header"; 22 } 23 else 24 { 25 headerSettings = "content-behind-header"; 26 } 27 28 string maxWidth = ""; 29 if (GetBoolean("Item.Area.ContentMaxWidth")) 30 { 31 maxWidth = "max"; 32 } 33 } 34 <html lang='@GetGlobalValue("Global:Area.LongLang")'> 35 <head> 36 37 38 <meta charset="UTF-8"> 39 <title>@GetValue("Title")</title> 40 @GetValue("MetaTags") 41 @GetValue("CopyRightNotice") 42 43 44 <meta name="format-detection" content="telephone=no"> 45 <meta name="Generator" content="Dynamicweb 9"> 46 47 @if (!string.IsNullOrEmpty(GetString("Title"))) 48 { 49 <meta property="og:title" content='@GetString("Title")'> 50 } 51 @if (!string.IsNullOrEmpty(GetString("Meta.Description"))) 52 { 53 <meta property="og:description" content='@GetString("Meta.Description")'> 54 } 55 @if (!string.IsNullOrEmpty(GetString("Item.OpenGraphImage"))) 56 { 57 <meta property="og:image" content='http://@url/@imagetag'> 58 } 59 60 <meta property="og:site_name" content='@GetValue("Item.Area.CompanyName")'> 61 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 62 <link rel="stylesheet" href="/Files/Templates/Designs/Iris/css/i_app.css?v=@thecssstamp"> 63 64 @* 65 Go to https://realfavicongenerator.net/ and create your favicon code and insert it below instead of the- 66 REMEMBER to set the color so they match the style of the site and set the favicon path to images/favicon - AND upload the generated files to that folder in the IRIS theme in the Designs folder 67 *@ 68 <link rel="apple-touch-icon" sizes="57x57" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-57x57.png"> 69 <link rel="apple-touch-icon" sizes="60x60" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-60x60.png"> 70 <link rel="apple-touch-icon" sizes="72x72" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-72x72.png"> 71 <link rel="apple-touch-icon" sizes="76x76" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-76x76.png"> 72 <link rel="apple-touch-icon" sizes="114x114" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-114x114.png"> 73 <link rel="apple-touch-icon" sizes="120x120" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-120x120.png"> 74 <link rel="apple-touch-icon" sizes="144x144" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-144x144.png"> 75 <link rel="apple-touch-icon" sizes="152x152" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-152x152.png"> 76 <link rel="apple-touch-icon" sizes="180x180" href="/Files/Templates/Designs/Iris/images/favicon/apple-icon-180x180.png"> 77 <link rel="icon" type="image/png" sizes="192x192" href="/Files/Templates/Designs/Iris/images/favicon/android-icon-192x192.png"> 78 <link rel="icon" type="image/png" sizes="32x32" href="/Files/Templates/Designs/Iris/images/favicon/favicon-32x32.png"> 79 <link rel="icon" type="image/png" sizes="96x96" href="/Files/Templates/Designs/Iris/images/favicon/favicon-96x96.png"> 80 <link rel="icon" type="image/png" sizes="16x16" href="/Files/Templates/Designs/Iris/images/favicon/favicon-16x16.png"> 81 <link rel="manifest" href="/Files/Templates/Designs/Iris/images/favicon/manifest.json"> 82 <meta name="msapplication-TileColor" content="#ffffff"> 83 <meta name="msapplication-TileImage" content="/ms-icon-144x144.png"> 84 <meta name="theme-color" content="#ffffff"> 85 86 <script type="text/javascript"> 87 (function(window, document, dataLayerName, id) { 88 window[dataLayerName]=window[dataLayerName]||[],window[dataLayerName].push({start:(new Date).getTime(),event:"stg.start"});var scripts=document.getElementsByTagName('script')[0],tags=document.createElement('script'); 89 function stgCreateCookie(a,b,c){var d="";if(c){var e=new Date;e.setTime(e.getTime()+24*c*60*60*1e3),d="; expires="+e.toUTCString()}document.cookie=a+"="+b+d+"; path=/"} 90 var isStgDebug=(window.location.href.match("stg_debug")||document.cookie.match("stg_debug"))&&!window.location.href.match("stg_disable_debug");stgCreateCookie("stg_debug",isStgDebug?1:"",isStgDebug?14:-1); 91 var qP=[];dataLayerName!=="dataLayer"&&qP.push("data_layer_name="+dataLayerName),isStgDebug&&qP.push("stg_debug");var qPString=qP.length>0?("?"+qP.join("&")):""; 92 tags.async=!0,tags.src="https://haervejsmarchen.containers.piwik.pro/"+id+".js"+qPString,scripts.parentNode.insertBefore(tags,scripts); 93 !function(a,n,i){a[n]=a[n]||{};for(var c=0;c<i.length;c++)!function(i){a[n][i]=a[n][i]||{},a[n][i].api=a[n][i].api||function(){var a=[].slice.call(arguments,0);"string"==typeof a[0]&&window[dataLayerName].push({event:n+"."+i+":"+a[0],parameters:[].slice.call(arguments,1)})}}(i[c])}(window,"ppms",["tm","cm"]); 94 })(window, document, 'dataLayer', 'd1eef2a1-f5ed-4645-ad3f-ca6c4b2ae6ac'); 95 </script> 96 <!-- Google tag (gtag.js) --> 97 <script async="" src="https://www.googletagmanager.com/gtag/js?id=AW-967843707"></script> 98 <script> 99 window.dataLayer = window.dataLayer || []; 100 function gtag(){dataLayer.push(arguments);} 101 gtag('js', new Date()); 102 103 gtag('config', 'AW-967843707'); 104 </script> 105 106 @GetValue("Item.Area.ScriptsHead") 107 <style> 108 #loading-overlay { 109 background: #fff; 110 position: fixed; 111 height: 100%; 112 width: 100%; 113 z-index: 9999; 114 top: 0; 115 left: 0; 116 float: left; 117 text-align: center; 118 padding-top: 25%; 119 } 120 </style> 121 122 @GetValue("Stylesheets") 123 @GetValue("Javascripts") 124 </head> 125 126 <body class='@GetGlobalValue("Global:Page.NavigationTag") @headerSettings'> 127 128 129 @GetValue("Item.Area.ScriptsBodyBegin") 130 <div id="loading-overlay"></div> 131 <div class="page-wrap @maxWidth" id="page-wrap"> 132 133 @if (GetBoolean("Item.Area.ShowMetaHeader")) { 134 <header class="container-fluid header Fixed"> 135 <div class="meta-header hidden-xs hidden-sm"> 136 @if (GetString("Item.Area.HeaderContentWidth") != "full") 137 { 138 @:<div class="container"> 139 } 140 <div class="row"> 141 @{ 142 string hasLangs = ""; 143 144 if (GetLoop("Item.Area.AreaLanguages").Any()) { 145 hasLangs = "has-langs"; 146 } 147 } 148 <div class="pull-right"> 149 @RenderNavigation(new 150 { 151 StartLevel = 1, 152 EndLevel = 1, 153 Template = "I_MetaMenu.xslt" 154 }) 155 <div class="search-btn @hasLangs"><i class="fa fa-search"></i></div> 156 <!-- Rmoved Translate("Search","Søg" From search-btn--> 157 @if (GetLoop("Item.Area.AreaLanguages").Any()) { 158 159 string langLayout = GetString("Item.Area.LanguageLayout"); 160 string langNavClass = ""; 161 if(langLayout == "dropdown" || langLayout == "dropdown-icon-text"){ 162 langNavClass = "language-picker-dropdown"; 163 } else { 164 langNavClass = "language-picker-row"; 165 } 166 <nav class="@langNavClass hidden-xs"> 167 @if(langNavClass == "language-picker-dropdown"){ 168 <ul class="list-unstyled"> 169 <li> 170 <a> 171 @if(GetString("Item.Area.LanguageDropdownIcon") == "globe") 172 { 173 <i class="fa fa-globe"></i> 174 } else { 175 foreach (LoopItem l in GetLoop("Item.Area.AreaLanguages")) 176 { 177 178 if(l.GetBoolean("Item.Area.AreaLanguages.LanguageActive")){ 179 string langIcon = l.GetString("Item.Area.AreaLanguages.LanguageIcon"); 180 <img class="active-flag" src="@langIcon"> 181 } 182 } 183 } 184 </a> 185 <ul class="list-unstyled"> 186 @foreach (LoopItem l in GetLoop("Item.Area.AreaLanguages")) 187 { 188 string langActive = l.GetBoolean("Item.Area.AreaLanguages.LanguageActive") == true ? "activeitem" : ""; 189 string langUrl = l.GetString("Item.Area.AreaLanguages.LanguageURL"); 190 string langName = l.GetString("Item.Area.AreaLanguages.LanguageName"); 191 string langIcon = l.GetString("Item.Area.AreaLanguages.LanguageIcon"); 192 string langIconPresent = ""; 193 194 if(langLayout == "dropdown-icon-text"){ 195 langIconPresent = "lang-icon"; 196 } 197 <li class="@langActive"> 198 <a href="@langUrl" class="@langActive @langIconPresent" title="@langName">@if(langLayout == "dropdown-icon-text"){<img src="@langIcon">}@langName</a> 199 </li> 200 } 201 </ul> 202 </li> 203 </ul> 204 } else { 205 <ul class="list-unstyled @langNavClass"> 206 @foreach (LoopItem l in GetLoop("Item.Area.AreaLanguages")) 207 { 208 string langActive = l.GetBoolean("Item.Area.AreaLanguages.LanguageActive") == true ? "activeitem" : ""; 209 string langUrl = l.GetString("Item.Area.AreaLanguages.LanguageURL"); 210 string langName = l.GetString("Item.Area.AreaLanguages.LanguageName"); 211 string langIcon = l.GetString("Item.Area.AreaLanguages.LanguageIcon"); 212 213 <li class="@langActive"> 214 <a href="@langUrl" class="@langActive" title="@langName"><img src="@langIcon" alt="@langName"></a> 215 </li> 216 217 } 218 </ul> 219 } 220 </nav> 221 } 222 </div> 223 </div> 224 225 @if (GetString("Item.Area.HeaderContentWidth") != "full") 226 { 227 @:</div> 228 } 229 </div> 230 @if (!string.IsNullOrEmpty(GetString("DwAreaSearchPageID"))) 231 { 232 <div class="search-bar meta-search closed"> 233 <div class="container-fluid closed"> 234 <div class="container"> 235 <div class="row"> 236 <div class="col-xs-12 col-md-8 center-col"> 237 <form method="get" action="/Default.aspx"> 238 <fieldset> 239 <div class="input-group input-group-md"> 240 <input type="hidden" name="ID" value='@GetValue("DwAreaSearchPageID")'> 241 <span class="input-group-addon close-search"><i class="fa fa-times"></i></span> 242 <input type="text" class="form-control placeholder" name="q" id="search-field" placeholder='@Translate("searchfor","Søg efter")...' value=""> 243 <span class="input-group-btn"> 244 <input type="submit" class="btn btn-base-color-1" id="search" value='@Translate("SEARCH", "Søg")'> 245 </span> 246 </div> 247 </fieldset> 248 </form> 249 </div> 250 </div> 251 </div> 252 </div> 253 </div> 254 } 255 256 @if (GetString("Item.Area.HeaderContentWidth") != "full") 257 { 258 @:<div class="container main-header-container"> 259 } 260 <div class="row main-header"> 261 <a href="/" class="logo" title='@GetValue("Item.Area.CompanyName")'><img src="/Files/Templates/Designs/Iris/images/logo.png"></a> 262 <div class="top-nav-wrap"> 263 <nav class="top-nav hidden-xs hidden-sm" id="top-nav" role="navigation"> 264 @RenderNavigation(new 265 { 266 StartLevel = 1, 267 EndLevel = 3, 268 ExpandMode = "All", 269 Template = "I_TopNav_Omit_MetaMenu.xslt" 270 }) 271 272 </nav> 273 <div class="search-btn @hasLangs visible-xs-block visible-sm-block"><i></i></div> 274 <a href="#mmenu" class="mobile-nav visible-xs-block visible-sm-block"><i class="fa fa-bars"></i></a> 275 </div> 276 </div> 277 @if (GetString("Item.Area.HeaderContentWidth") != "full") 278 { 279 @:</div> 280 } 281 282 </header> 283 } else { 284 <header class="container-fluid header Fixed"> 285 @if (GetString("Item.Area.HeaderContentWidth") != "full") 286 { 287 @:<div class="container"> 288 } 289 <div class="row main-header"> 290 <a href="/" class="logo" title='@GetValue("Item.Area.CompanyName")'><img src="/Files/Templates/Designs/Iris/images/logo.png"></a> 291 <div class="top-nav-wrap"> 292 <nav class="top-nav hidden-xs" id="top-nav" role="navigation"> 293 @RenderNavigation(new 294 { 295 StartLevel = 1, 296 EndLevel = 3, 297 ExpandMode = "All", 298 Template = "I_TopNav.xslt" 299 }) 300 </nav> 301 @{ 302 string hasLangs = ""; 303 304 if (GetLoop("Item.Area.AreaLanguages").Any()) { 305 hasLangs = "has-langs"; 306 } 307 } 308 <div class="search-btn @hasLangs"><i></i></div> 309 @if (GetLoop("Item.Area.AreaLanguages").Any()) { 310 311 string langLayout = GetString("Item.Area.LanguageLayout"); 312 string langNavClass = ""; 313 if(langLayout == "dropdown" || langLayout == "dropdown-icon-text"){ 314 langNavClass = "language-picker-dropdown"; 315 } else { 316 langNavClass = "language-picker-row"; 317 } 318 <nav class="@langNavClass hidden-xs"> 319 @if(langNavClass == "language-picker-dropdown"){ 320 <ul class="list-unstyled"> 321 <li> 322 <a> 323 @if(GetString("Item.Area.LanguageDropdownIcon") == "globe") 324 { 325 <i class="fa fa-globe"></i> 326 } else { 327 foreach (LoopItem l in GetLoop("Item.Area.AreaLanguages")) 328 { 329 330 if(l.GetBoolean("Item.Area.AreaLanguages.LanguageActive")){ 331 string langIcon = l.GetString("Item.Area.AreaLanguages.LanguageIcon"); 332 <img class="active-flag" src="@langIcon"> 333 } 334 } 335 } 336 </a> 337 <ul class="list-unstyled"> 338 @foreach (LoopItem l in GetLoop("Item.Area.AreaLanguages")) 339 { 340 string langActive = l.GetBoolean("Item.Area.AreaLanguages.LanguageActive") == true ? "activeitem" : ""; 341 string langUrl = l.GetString("Item.Area.AreaLanguages.LanguageURL"); 342 string langName = l.GetString("Item.Area.AreaLanguages.LanguageName"); 343 string langIcon = l.GetString("Item.Area.AreaLanguages.LanguageIcon"); 344 string langIconPresent = ""; 345 346 if(langLayout == "dropdown-icon-text"){ 347 langIconPresent = "lang-icon"; 348 } 349 <li class="@langActive"> 350 <a href="@langUrl" class="@langActive @langIconPresent" title="@langName">@if(langLayout == "dropdown-icon-text"){<img src="@langIcon">}@langName</a> 351 </li> 352 } 353 </ul> 354 </li> 355 </ul> 356 } else { 357 <ul class="list-unstyled @langNavClass"> 358 @foreach (LoopItem l in GetLoop("Item.Area.AreaLanguages")) 359 { 360 string langActive = l.GetBoolean("Item.Area.AreaLanguages.LanguageActive") == true ? "activeitem" : ""; 361 string langUrl = l.GetString("Item.Area.AreaLanguages.LanguageURL"); 362 string langName = l.GetString("Item.Area.AreaLanguages.LanguageName"); 363 string langIcon = l.GetString("Item.Area.AreaLanguages.LanguageIcon"); 364 365 <li class="@langActive"> 366 <a href="@langUrl" class="@langActive" title="@langName"><img src="@langIcon" alt="@langName"></a> 367 </li> 368 369 } 370 </ul> 371 } 372 </nav> 373 } 374 <a href="#top-nav" class="mobile-nav visible-xs-block"><i class="fa fa-bars"></i></a> 375 </div> 376 </div> 377 @if (GetString("Item.Area.HeaderContentWidth") != "full") 378 { 379 @:</div> 380 } 381 @if (!string.IsNullOrEmpty(GetString("DwAreaSearchPageID"))) 382 { 383 <div class="search-bar closed"> 384 <div class="container-fluid closed"> 385 <div class="container"> 386 <div class="row"> 387 <div class="col-xs-12 col-md-8 center-col"> 388 <form method="get" action="/Default.aspx"> 389 <fieldset> 390 <div class="input-group"> 391 <input type="hidden" name="ID" value='@GetValue("DwAreaSearchPageID")'> 392 <input type="text" class="form-control placeholder" name="q" id="search-field" placeholder='@Translate("searchfor","Søg efter")...' value=""> 393 <span class="input-group-btn"> 394 <input type="submit" class="btn btn-base-color-2" id="search" value='@Translate("SEARCH", "Søg")'> 395 </span> 396 </div> 397 </fieldset> 398 </form> 399 </div> 400 </div> 401 </div> 402 </div> 403 </div> 404 } 405 </header> 406 } 407 408 @if (GetBoolean("Item.Area.ShowBreadcrumb") == true && GetBoolean("Item.Page.HideBreadcrumb") != true) 409 { 410 411 string isNewspage = ""; 412 if (GetString("Item.ItemInstanceType") == "I_NewsPage") 413 { 414 isNewspage = "is-newspage"; 415 } 416 417 <div class="container-fluid breadcrumb-wrap"> 418 <div class="container"> 419 <div class="row"> 420 <nav class="col-xs-12 breadcrumb @isNewspage"> 421 @if(!string.IsNullOrEmpty(GetString("Item.Area.BreadcrumbPrefix"))){<span class="prefix">@GetString("Item.Area.BreadcrumbPrefix")</span>} 422 @GetValue("DwNavigation(BreadCrumb)") 423 </nav> 424 </div> 425 </div> 426 </div> 427 } 428 429 @if (GetString("Item.ItemInstanceType") == "I_NewsPage") 430 { 431 <div class="container-fluid news-list news-page-header"> 432 <div class="container"> 433 <div class="row"> 434 <div class="col-xs-12"> 435 <p class="date-author"><span><i class="fa fa-calendar" aria-hidden="true"></i>@GetDate("Item.DateTime").ToLongDateString() - kl. @GetDate("Item.DateTime").ToShortTimeString()</span><span><i class="fa fa-user-circle-o" aria-hidden="true"></i>@GetString("Item.Author")</span></p> 436 </div> 437 </div> 438 </div> 439 </div> 440 } 441 <div class="content-width"> 442 443 @SnippetStart("StyleSheet") 444 @SnippetEnd("StyleSheet") 445 @SnippetStart("sidenavheader") 446 <div class="h3 blog-sidenav-header">@Translate("SideNavHeader", "Destinationer")</div> 447 @SnippetEnd("sidenavheader") 448 @SnippetStart("sidetags") 449 @SnippetEnd("sidetags") 450 @{ 451 string hostdomain = Dynamicweb.Context.Current.Request.Url.Host; 452 var protocol = Dynamicweb.Context.Current.Request.Url.Scheme; 453 var disqusUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(Dynamicweb.Frontend.PageView.Current().ID); 454 var testUrl = protocol + "://" + hostdomain + disqusUrl; 455 var postDate = (DateTime)Dynamicweb.Frontend.PageView.Current().Item["Date"]; 456 string postDateString = postDate.ToString("d. MMMM yyyy"); 457 458 } 459 <pre style="display:none;"> 460 disqusUrl: @disqusUrl 461 testUrl: @testUrl 462 </pre> 463 @GetValue("DwContent(content)") 464 @GetValue("DwContent(menuwrap)") 465 @GetValue("DwContent(dwcontent)") 466 <div class="container"> 467 468 <div class="row"> 469 @RenderSnippet("DisqusEmbed") 470 </div> 471 </div> 472 473 @*<div class="container-fluid paragraph-group margin-control-group dark-text" style="background-color:#eee;"> 474 <div class="container"> 475 <div class="row"> 476 <div class="col-xs-12"> 477 <div class="row"> 478 <div class="col-xs-12 themed-text text-xs-center"> 479 <div class="row"> 480 <div class="col-xs-12"><h2 class="text-center">@Translate("Latest blog posts", "Seneste blogposts")</h2><br></div> 481 482 @RenderItemList(new { 483 ItemType = "I_BlogPost", 484 ListSourceType = "SelfArea", 485 ItemFieldsList = "*", 486 ListTemplate = "ItemPublisher/List/I_LatestBlogPosts.cshtml", 487 ListPageSize = "4", 488 ListOrderBy = "Date", 489 ListOrderByDirection = "Descending", 490 Filter = "Active=True" 491 }) 492 </div> 493 </div> 494 </div> 495 </div> 496 </div> 497 </div> 498 </div>*@ 499 <script typeof="text/javascript"> 500 $(document).ready(function(){ 501 var blogDiv = $('.themed-text > h2:first'); 502 var disqusDiv = $('#disqus_thread'); 503 disqusDiv.ready(function () { 504 505 blogDiv.after('<i class="fa fa-clock-o"></i> @postDateString &nbsp; | &nbsp;<i class="fa fa-comments"></i> <a href="@(testUrl)' + '#disqus_thread"></a>'); 506 }); 507 508 }); 509 </script> 510 </div> 511 <div class="container"> 512 @if (!string.IsNullOrWhiteSpace(GetString("Item.Area.NewsletterSignupPage"))) 513 { 514 string signupUrl = GetString("Item.Area.NewsletterSignupPage"); 515 <a href="@(signupUrl)" class="btn btn-base-color-2 footer-news-signup">@Translate("TILMELD NYHEDSBREV")</a> 516 } 517 518 </div> 519 <footer class="footer container-fluid"> 520 <div class="container"> 521 <div class="row footer-top"> 522 @using System.Linq; 523 524 @{ 525 var footercolumns = GetLoop("Item.Area.FooterColumns").OrderBy(g => g.GetString("Item.Area.FooterColumns.Sort")).ToList(); 526 527 foreach (LoopItem i in footercolumns) 528 { 529 <div class='col-margin-bottom text-xs-center @ColumnClassFooter(@i.GetString("Item.Area.FooterColumns.WidthSettings.WidthMobile")+" ",@i.GetString("Item.Area.FooterColumns.WidthSettings.WidthTabletPortrait")+" ",@i.GetString("Item.Area.FooterColumns.WidthSettings.WidthTabletLandscape")+" ",@i.GetString("Item.Area.FooterColumns.WidthSettings.WidthDesktop")+" ")'> 530 @i.GetString("Item.Area.FooterColumns.Text") 531 532 @{ 533 var socialmedia = i.GetLoop("Item.Area.FooterColumns.SocialeMedier").OrderBy(d => d.GetString("Item.Area.FooterColumns.SocialeMedier.Sort")).ToList(); 534 535 foreach (LoopItem s in socialmedia) { 536 <a href='@s.GetString("Item.Area.FooterColumns.SocialeMedier.MediaURL")' class='social-media-circle' title='@s.GetString("Item.Area.FooterColumns.SocialeMedier.Name")' target='_blank'> 537 <i class='fa @s.GetString("Item.Area.FooterColumns.SocialeMedier.FontAwesomeClass")'></i> 538 </a> 539 } 540 } 541 542 </div> 543 544 } 545 } 546 547 @functions { 548 public string ColumnClassFooter(string mobile,string portrait,string landscape,string desktop) 549 { 550 if (string.IsNullOrWhiteSpace(mobile)) { 551 mobile = "col-xs-12 "; 552 } 553 554 if (string.IsNullOrWhiteSpace(portrait)) { 555 portrait = ""; 556 } 557 558 if (string.IsNullOrWhiteSpace(landscape)) { 559 landscape = ""; 560 } 561 562 return mobile + portrait + landscape + desktop; 563 } 564 } 565 </div> 566 <div class="row footer-bottom"> 567 <div class="col-xs-12 col-sm-6 text-xs-center text-sm-left"> 568 © @GetGlobalValue("Global:Server.Date.Year") @GetValue("Item.Area.FooterCopyright") 569 </div> 570 <div class="col-xs-12 col-sm-6 text-xs-center text-sm-right footer-website-by"> 571 @GetValue("Item.Area.FooterWebsiteBy") 572 </div> 573 </div> 574 </div> 575 </footer> 576 @* remove commenting if the "MetaMenu" is in use on this site *@ 577 578 <nav id="mmenu"> 579 @GetValue("DwNavigation(menupanel)") 580 @if (GetLoop("Item.Area.AreaLanguages").Any()) { 581 string langLayout = GetString("Item.Area.LanguageLayout"); 582 string langNavClass = "language-picker-dropdown"; 583 <ul id="languages-panel"> 584 @foreach (LoopItem l in GetLoop("Item.Area.AreaLanguages")) 585 { 586 string langActive = l.GetBoolean("Item.Area.AreaLanguages.LanguageActive") == true ? "active-language" : ""; 587 string langUrl = l.GetString("Item.Area.AreaLanguages.LanguageURL"); 588 string langName = l.GetString("Item.Area.AreaLanguages.LanguageName"); 589 string langIcon = l.GetString("Item.Area.AreaLanguages.LanguageIcon"); 590 string langIconPresent = ""; 591 592 if(langLayout == "dropdown-icon-text" || langLayout == "icon-row"){ 593 langIconPresent = "lang-icon"; 594 } 595 <li class="@langActive"> 596 <a href="@langUrl" class="@langActive @langIconPresent" title="@langName">@if(langLayout == "dropdown-icon-text" || langLayout == "icon-row"){<img src="@langIcon">}@langName</a> 597 </li> 598 } 599 </ul> 600 } 601 </nav> 602 603 @SnippetStart("sidenav") 604 <nav class="side-sub-nav"> 605 @GetValue("DwNavigation(SideNav)") 606 </nav> 607 @SnippetEnd("sidenav") 608 </div> 609 610 <script type="text/javascript"> 611 var isTablet = '@GetGlobalValue("Global:Device.IsTablet")'; 612 var cookieText = "@cookieText"; 613 var mmenuMenu = '@Translate("Menu","Menu")'; 614 var mmenuLanguages = '@Translate("Languages","Sprog")'; 615 var levelTwoPageID = '@GetValue("DwPageID_2")'; 616 var itemInstanceType = '@GetValue("Item.ItemInstanceType")'; 617 </script> 618 <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 619 @GetValue("Item.Area.Webfonts") 620 <script type="text/javascript" src="/Files/Templates/Designs/Iris/javascript/compressed/i_compressed.js?v=@thejsstamp"></script> 621 @GetValue("DwCookieWarning") 622 @GetValue("Item.Area.ScriptsBodyEnd") 623 @RenderSnippet("Scripts") 624 <script type="text/javascript" src="https://js.createsend1.com/javascript/copypastesubscribeformlogic.js"></script> 625 </body> 626 </html> 627 @SnippetStart("DisqusEmbed") 628 @{ 629 var disqusEmbed_DisqusShortname = GetString("Item.Area.Disqus_Shortname"); 630 } 631 @if (!string.IsNullOrEmpty(disqusEmbed_DisqusShortname)) 632 { 633 <div id="disqus_thread"></div> 634 <script type="text/javascript"> 635 var disqus_config = function() { 636 this.page.url = window.location.href.split('?')[0]; 637 this.page.identifier = 'PageId_@(Pageview.ID)'; 638 }; 639 640 (function() { 641 var d = document, s = d.createElement('script'); 642 s.src = '//@(disqusEmbed_DisqusShortname).disqus.com/embed.js'; 643 s.setAttribute('data-timestamp', +new Date()); 644 (d.head || d.body).appendChild(s); 645 })(); 646 </script> 647 <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript> 648 } 649 @SnippetEnd("DisqusEmbed")