Error executing template "Designs/SSTemplate/_parsed/news.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_cd586e2fcdcd4db7a142d76daabab6cb.Execute() in E:\dynamicweb.net\Solutions\Sendistovan\j2019.dw9.dynamicweb-cms.com\files\Templates\Designs\SSTemplate\_parsed\news.parsed.cshtml:line 213
   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 @using System.Web.Mvc; 2 @using System.Text.RegularExpressions; 3 @using System.Web; 4 @using System.IO; 5 @using System.Linq; 6 @{ 7 string basecss = "/Files/Templates/Designs/SSTemplate/css/base2026.css"; 8 string ifolder = basecss.Substring(0, basecss.LastIndexOf("/")).ToString(); 9 string ifolderOnDisk = System.Web.HttpContext.Current.Server.MapPath(ifolder); 10 DirectoryInfo idirectoryInfo = new System.IO.DirectoryInfo(ifolderOnDisk); 11 string idatefetch=@idirectoryInfo+"\\base2026.css"; 12 DateTime ilastmodified = File.GetLastWriteTime(@idatefetch); 13 basecss=@basecss+"?modified="+@ilastmodified.ToString("yyyy-MM-ddTHH:mm:ss"); 14 string stylecss = "/Files/Templates/Designs/SSTemplate/css/styles2026.css"; 15 string ufolder = stylecss.Substring(0, stylecss.LastIndexOf("/")).ToString(); 16 string ufolderOnDisk = System.Web.HttpContext.Current.Server.MapPath(ufolder); 17 DirectoryInfo udirectoryInfo = new System.IO.DirectoryInfo(ufolderOnDisk); 18 string udatefetch=@udirectoryInfo+"\\styles.css"; 19 //string logo=@GetString("Item.Area.Design.Logo"); 20 string logo="/Files/Templates/Designs/SSTemplate/img/logo-jfo.png"; 21 DateTime ulastmodified = File.GetLastWriteTime(@udatefetch); 22 stylecss=@stylecss+"?modified="+@ulastmodified.ToString("yyyy-MM-ddTHH:mm:ss"); 23 }@{ 24 25 string kolofonimg=@GetString("Item.Area.Design.Ikon"); 26 }<!DOCTYPE html> 27 <html lang="fo"> 28 @{ 29 string pageid=@GetString("DwPageID"); 30 string readspeak=@GetString("Item.Area.Funktionalitetir.BaseUr")+"?id="+pageid; 31 string pagenametit=@GetString("DwPageName"); 32 33 string pagearea=@GetString("DwPageID_1"); 34 pagearea="top"+pagearea; 35 ViewBag.BaseUrl = @GetString("Item.Area.Funktionalitetir.BaseUr"); 36 ViewBag.StoddStarvs = @GetString("Item.Page.StoddStarv"); 37 }<head> 38 <meta charset="utf-8"> 39 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 40 <meta name="viewport" content="width=device-width, initial-scale=1"> 41 42 <meta name="author" content=""> 43 <meta property="og:url" content="@readspeak"> 44 <meta property="og:locale" content="fo_FO"> 45 <meta property="og:title" content="@pagenametit"> 46 <meta name="google-site-verification" content="_8UkOXR321xXc60VV1folaRbl3pukMQpv1ifNUwjZXU"> 47 <link rel="shortcut icon" type="image/ico" href="/Files/Templates/Designs/SSTemplate/img/favicon.ico"> 48 <link rel="shortcut icon" type="image/png" href="/Files/Templates/Designs/SSTemplate/img/favicon.png"> 49 @RenderSnippet("FBimg") 50 51 @foreach(LoopItem i in GetLoop("Item.Area.Design.Fontar")){ 52 53 @i.GetString("Item.Area.Design.Fontar.Font") 54 55 } 56 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css"> 57 <link rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/meanmenu.css?build=25"> 58 <link rel="stylesheet" href="@basecss"> 59 60 <link rel="stylesheet" href="@stylecss"> 61 62 63 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/base-mobil.css"> 64 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/styles-mobil.css"> 65 <link rel="preconnect" href="https://fonts.googleapis.com"> 66 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 67 <link href="https://fonts.googleapis.com/css2?family=Afacad:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet"> 68 <script src="https://consent.cookiefirst.com/sites/j.fo-17b974b4-88db-494d-b44a-84321fcda66f/consent.js"></script> 69 70 @GetValue("CopyRightNotice") 71 @GetValue("MetaTags") 72 @GetValue("Stylesheets") 73 @GetValue("Javascripts") 74 </head> 75 <body> 76 77 78 79 @GetString("Item.Area.SomeAndShare.FacebookJaascriptSDK") 80 81 82 <div class="mynav d-md-none d-lg-none d-xl-none"> 83 @GetValue("DwNavigation(mobmen)") 84 85 </div><!-- #dl-menu end --> 86 87 <div class="TopTopMenu container-fluid d-none d-sm-none d-md-block"> 88 <div class="row"> 89 <div class="container"> 90 <div class="row"> 91 <div class="col-12 toptopred"> 92 93 <div class="toptoplinks navigation"> 94 @GetValue("DwNavigation(topnavul)") 95 96 97 </div> 98 <div class="langswapper"> 99 </div> 100 <div class="cart"> 101 </div> 102 </div> 103 </div> 104 </div> 105 </div> 106 </div> 107 108 109 <div class="topmenu_wrapper"> 110 <div class="container d-none d-sm-none d-md-block"> 111 <div class="row"> 112 <div class="col-12" id="topmenu"> 113 114 <div class="samband"> 115 <a href="/"><img class="logoimg" src="@logo" alt="Javnaðarflokkurin"></a> 116 </div> 117 118 @GetValue("DwNavigation(topmen1)") 119 120 <div class="leit-trigger hide"> 121 <img src="/Files/Templates/Designs/SSTemplate/img/leiting-trigger.svg" alt="search"></div> 122 </div> 123 </div> 124 </div> 125 </div><!--- NAVIGATION ---> 126 127 128 @if(@GetString("Item.SystemName")=="Frontpage"){ 129 <div class="container-fluid bottomheadborder"></div> 130 } 131 132 133 @if(GetBoolean("Item.ShowBradcrumbs") == true || @GetString("Item.SystemName")=="Greinaskrivari") 134 {<text> 135 <div class="container-fluid mb-0 bread"> 136 <div class="container"> 137 <div class="row"> 138 <div class="bread col my-3"> 139 @GetValue("DwNavigation(bread)") 140 </div> 141 </div> 142 </div> 143 </div> 144 </text> 145 } 146 <!--- BREADCRUMB ---> 147 148 @using System.Text.RegularExpressions; 149 @using System.Web; 150 @using Dynamicweb.Content; 151 @using System.Net; 152 153 @{ 154 string mynd=@GetString("Item.Area.Design.FacebookDeilFallback"); 155 156 string play=""; 157 string videostart=""; 158 159 int sidaid=0; 160 } 161 162 @if(!string.IsNullOrEmpty(@GetString("Item.Video"))){play="<span class='icon-media-video'></span>"; videostart="videostart";} 163 else {play="";} 164 165 @{ 166 var rawImg = GetString("Item.Mynd"); 167 } 168 169 @if (!string.IsNullOrEmpty(rawImg)) 170 { 171 // Build correct full URL (NOT encoded) 172 var fullUrl = "https://www.j.fo" + rawImg; 173 174 // Encode only the *path*, NOT the protocol + domain 175 var encodedPath = Uri.EscapeUriString(rawImg); 176 177 // Rebuild the safe URL for Facebook 178 mynd = "https://www.j.fo" + encodedPath; 179 } 180 181 @SnippetStart("FBimg") 182 <meta property="og:image" content="@ViewBag.BaseUrl@mynd"> 183 <meta property="og:type" content="article"> 184 185 @SnippetEnd("FBimg") 186 187 188 189 190 191 <div class="container newsintro-parent relative"> 192 193 @{ 194 string writer=""; 195 string writerimg=""; 196 string imgcroppoint=""; 197 198 199 } 200 201 @if (!GetBoolean("Item.GuestWriterONOFF")){ 202 <text> 203 204 205 206 207 @if(!String.IsNullOrEmpty(@GetString("Item.GreinaskrivariDropdown"))){ 208 <text> 209 @{ 210 string writeridstring=@GetString("Item.GreinaskrivariDropdown"); 211 int writerid=Int32.Parse(@writeridstring); 212 var item = Dynamicweb.Content.Items.ItemManager.Storage.GetById("Greinaskrivari", @writeridstring); 213 writer = item["Navn"].ToString(); 214 writerimg=item["Mynd"].ToString().Replace("?x", "&x"); 215 var writerpage=Dynamicweb.Services.Pages.GetPageForItem("Greinaskrivari", @writeridstring); 216 sidaid = Dynamicweb.Services.Pages.GetPageForItem("Greinaskrivari", @writeridstring).ID; 217 218 219 220 } 221 </text> 222 } 223 224 </text> 225 } 226 else { 227 writer=@GetString("Item.GuestWriter"); 228 writerimg=@GetString("Item.GuestWriterImafge"); 229 imgcroppoint=@GetString("Item.GuestWriterImafge.FocalPointParameters"); 230 231 } 232 233 234 @if(!String.IsNullOrEmpty(@GetString("Item.Mynd"))){ 235 mynd=@GetString("Item.Mynd"); 236 } 237 238 @if(String.IsNullOrEmpty(@mynd)){ 239 240 mynd="/Files/Templates/Designs/SSTemplate/img/fallback-umbod.jpg"; 241 } 242 243 @if(sidaid!=0){ 244 <a class="authorcont hide-mobile" href="/default.aspx?id=@sidaid"> 245 @if(!String.IsNullOrEmpty(@writerimg)){ 246 <div class="autorimage"><img src="/Admin/Public/Getimage.ashx?image=@writerimg&width=140&height=140&Crop=7&@imgcroppoint"> </div> 247 } 248 249 <div class="authorname">@writer </div> 250 251 </a> 252 } 253 else{ 254 <div class="authorcont"> 255 @if(!String.IsNullOrEmpty(@writerimg)){ 256 <div class="autorimage"><img src="/Admin/Public/Getimage.ashx?image=@writerimg&width=140&height=140&Crop=7&@imgcroppoint"> </div> 257 } 258 259 <div class="authorname">@writer </div> 260 261 </div> 262 } 263 264 265 266 267 <div class="row"> 268 <div class="col-xl-9 col-12 col-md-10 mt-5 newsintro"> 269 @if(!String.IsNullOrEmpty(GetString("Item.NewsType"))){ 270 <text><span class="greintype">@GetString("Item.NewsType").Replace("Tidindi", "Tíðindi").Replace("Lesarabraev", "Lesarabræv")</span></text>}<span class="dato">@GetDate("Item.Dato").ToString("dd. MMMM yyyy")</span> 271 @if(!String.IsNullOrEmpty(@writer)){ 272 <div class="authorname author-mobile">@writer </div> } 273 274 <h1>@GetString("Item.Yvirskrift") </h1> 275 276 277 278 @if(!String.IsNullOrEmpty(GetString("Item.Inngangstekstur"))){ 279 <p class="introIII mt-4 mb-5">@GetString("Item.Inngangstekstur")</p> } 280 </div> 281 </div> 282 </div> 283 284 <div class="container newsshare-parent"> 285 <div class="row"> 286 @if(@GetBoolean("Item.MogulleikaFyriAtDeila")==true){ 287 <text> 288 <div class="col-xl-1 col-md-0 share-parent"> 289 290 291 292 <div class="linja mt-5"></div> 293 <p class="share">Deil:</p> 294 <a href="#" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href),'facebook-share-dialog','width=626,height=436');return false;"><span class="icon-share-facebook"><span class="path1"></span><span class="path2"></span><span class="path3"></span></span></a> 295 @{ 296 string pagename=@GetString("DwPageName"); 297 string pagelink=@HttpContext.Current.Request.Url.AbsoluteUri; 298 } 299 <a href="mailto:?Subject=@pagename&body=Trýst á leinki her @pagelink"><span class="icon-share-email"><span class="path1"></span><span class="path2"></span><span class="path3"></span></span></a> 300 301 302 </div> 303 </text> 304 } 305 <div class="col-12 col-xl-9 col-md-10 newsmynd-parent"> 306 @if(!String.IsNullOrEmpty(@GetString("Item.Mynd"))){ 307 <text> 308 309 310 <div class="newsitemimage relative @videostart"> 311 @{ 312 int focalx=@GetInteger("Item.Mynd.FocalX"); 313 int focaly=@GetInteger("Item.Mynd.FocalY"); 314 } 315 <img src="/Admin/Public/Getimage.ashx?image=@mynd&width=900&height=500&Crop=7&x=@focalx&y=@focaly" class="img-fluid mt-5 mb-5"> 316 @play 317 318 @if(!String.IsNullOrEmpty(@GetString("Item.Evni"))){ 319 <span class="newsevni">@GetString("Item.Evni")</span> 320 } 321 322 </div> 323 </text> 324 } 325 326 </div> 327 328 <div class="col-12 col-xl-2 col-md-2 newsmyndatekstur"> 329 @if(!String.IsNullOrEmpty(GetString("Item.Myndatekstur"))){ 330 <div class="linja mt-5 ml-2"></div> 331 332 <text> 333 <p class="myndatekstur ml-2">@GetString("Item.Myndatekstur")</p> 334 </text>} 335 </div> 336 </div> 337 </div> 338 339 340 <div class="container newscont"> 341 <div class="row"> 342 <div class="col-12 col-xl-7 offset-xl-2 col-sm-12 offset-sm-0 newstekstur"> 343 @GetString("Item.Tekstur") 344 </div> 345 </div> 346 </div> 347 348 @if(!String.IsNullOrEmpty(@GetString("Item.TeksturKnap")) && !String.IsNullOrEmpty(@GetString("Item.LeinkiKnappur"))){ 349 <text> 350 <div class="container newsknaplink-parent"> 351 <div class="row"> 352 <div class="col-12 offset-sm-2 "> 353 <h2 class="alternative newsknaplink offset-sm-2">@GetString("Item.YvirskriftTilKnapp")</h2> 354 </div> 355 <a href='@GetString("Item.LeinkiKnappur")' class="col-12 col-xl-7 offset-xl-2 col-sm-12 offset-sm-0 oydublad my-3"> 356 @GetString("Item.TeksturKnap") <span class="icon-download taknidur"></span> 357 </a> 358 </div> 359 </div> 360 361 </text> 362 } 363 @if (!String.IsNullOrEmpty(GetString("Item.YvirskrftMyndasavn"))) 364 { 365 <div class="container newsgallery-parent"> 366 <div class="row"> 367 <h2 class="offset-sm-2 alternative">@GetString("Item.YvirskrftMyndasavn")</h2> 368 <div class="card-columns offset-md-1 col-md-9 col-12" id="lightgallery"> 369 @* Ensure GetLoop isn't null before attempting to iterate *@ 370 @{ 371 var files = GetLoop("Item.Mappa.ListOfFiles"); 372 if (files != null) 373 { 374 foreach (var file in files) 375 { 376 // Safely access file and its values 377 var filePath = GetValue("Item.Mappa") + "/" + file?.GetValue("Item.Mappa.FileName"); 378 if (!String.IsNullOrEmpty(filePath)) 379 { 380 <div class="card mb-4"> 381 <a class="item" href="@filePath"> 382 <img class="card-img" src='/admin/public/getimage.ashx?&Image=@filePath&Resolution=75&Compression=90&Width=200&Crop=0'> 383 </a> 384 </div> 385 } 386 } 387 } 388 } 389 </div> 390 <div class="col-md-2 col-12"> 391 <div class="linja ml-2"></div> 392 @* Check if TeksturTilMyndasavn exists *@ 393 @if (!String.IsNullOrEmpty(GetString("Item.TeksturTilMyndasavn"))) 394 { 395 <p class="myndatekstur ml-2">@GetString("Item.TeksturTilMyndasavn")</p> 396 } 397 </div> 398 </div> 399 </div> 400 } 401 402 403 <div class="container mb-5 hide"> 404 <div class="row"> 405 <div class="col-12 next"> 406 <div class="text-right"> 407 <a href="#"><p>Næst</p> <span class="icon-arrow-right"></span></a> 408 </div> 409 </div> 410 </div> 411 </div> 412 413 414 415 <div class="container-fluid bg-grey othernews-parent"> 416 <div class="container pb-5 othernews-heiti-parent"> 417 <div class="row othernews"> 418 419 <div class="col-12 m-4 othernews-heiti"> 420 <h2 class="text-center">Nýggjastu tíðindi og greinar</h2></div> 421 @RenderParagraphContent(3) 422 423 </div> 424 </div> 425 </div> 426 427 428 <div class="container"> 429 <div class="col-12 text-center"> 430 <a class="scrolltop"> <span class="icon-backtotop"><span class="path1"></span><span class="path2"></span></span></a> 431 </div> 432 </div> 433 434 435 436 @if (!string.IsNullOrWhiteSpace(@GetString("Item.Video"))) { 437 <text> 438 <script> 439 document.addEventListener("DOMContentLoaded", function(event) { 440 $('.videostart').on('click', function() { 441 $(this).lightGallery({ 442 dynamic: true, 443 zoom: false, 444 youtubePlayerParams: { modestbranding: 1, showinfo: 0, controls: 0, rel: 0 }, 445 dynamicEl: [{ 446 "src": '@GetValue("Item.Video")' 447 }] 448 }) 449 450 }); 451 }); 452 453 454 </script> 455 456 </text>} 457 458 459 460 <div class="container-fluid footer"> 461 <div class="container"> 462 <div class="row "> 463 464 <div class="col-xl-3 col-md-12 col-12 mt-5"> 465 <p><img alt="" class="footerlogo max100" src="/Files/Templates/Designs/SSTemplate/img/footer-logo.png"></p> 466 467 </div> 468 <div class="col-xl-3 col-md-4 col-12 mt-5"> 469 @RenderParagraphContent(28) 470 </div> 471 <div class="col-xl-3 col-md-4 col-12 mt-5"> 472 @RenderParagraphContent(29) 473 </div> 474 <div class="col-xl-3 col-md-4 col-12 mt-5 fourth"> 475 @RenderParagraphContent(30) 476 </div> 477 </div> 478 </div> 479 </div> 480 481 <div class="container-fluid footerbottom"> 482 <div class="container"> 483 <div class="row"> 484 <div class="col-12 text-center"> 485 <a class="kolofon" target="_blank" href="//www.sendistovan.fo"><img src="@kolofonimg" alt="Sendistovan">Ein loysn frá Sendistovuni</a> 486 </div> 487 </div> 488 </div> 489 </div> 490 491 492 <div class="mob-search"> 493 <form method="post" action="?id=47" id="mob-searchform"> 494 <input type="submit" class="hide"> 495 <input class="mobinput" name="q" type="text" placeholder="Leita"><span class="icon-search mob-searchicon mob-submit"></span> 496 <span class="icon-menu-close mob-search-close"></span> 497 498 </form> 499 </div> 500 501 502 <div class="mobilmenpush hide"> 503 504 @GetValue("DwNavigation(mobtoptopnav)") 505 506 507 </div> 508 509 510 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/lightgallery/css/lightgallery.min.css"> 511 <link rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/tablesaw.css"> 512 <script src="/Files/Templates/Designs/SSTemplate/js/tablesaw.js"></script> 513 <script src="/Files/Templates/Designs/SSTemplate/js/tablesaw-init.js"></script> 514 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 515 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> 516 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lightgallery.min.js"></script> 517 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-thumbnail.js"></script> 518 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-zoom.js"></script> 519 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-video.js"></script> 520 <script src="/Files/Templates/Designs/SSTemplate/js/sendistovan.js"></script> 521 522 523 524 <script src="/Files/Templates/Designs/SSTemplate/js/meanmenu.js?build=24"></script> 525 <script> 526 document.addEventListener("DOMContentLoaded", function(event){ 527 jQuery('.mynav').meanmenu(); 528 529 530 var div1Html = $('.mobilmenpush').html(); 531 532 $( ".meanmenu" ).append(div1Html); 533 534 $(".search-reveal").click(function(){ 535 536 537 $('.mob-search').fadeIn("fast"); 538 $('.mobinput').focus(); 539 }); 540 541 $(".mob-submit").click(function(){ 542 $('#mob-searchform').submit(); 543 }); 544 545 546 }); 547 548 </script> 549 550 <script> 551 window.addEventListener('resize', function(event){ 552 jQuery('.mynav').meanmenu(); 553 554 555 var div1Html = $('.mobilmenpush').html(); 556 557 $( ".meanmenu" ).append(div1Html); 558 559 $(".search-reveal").click(function(){ 560 561 562 $('.mob-search').fadeIn("fast"); 563 $('.mobinput').focus(); 564 }); 565 </script> 566 567 <script> 568 569 document.addEventListener("DOMContentLoaded", function(event){ 570 $('.mob-search').hide(); 571 572 $(".mob-search-close").click(function(){ 573 574 575 $('.mob-search').fadeOut("fast"); 576 }); 577 578 579 580 }); 581 </script> 582 583 584 585 586 587 @{ 588 string valevniid=@GetString("Item.Id"); 589 590 } 591 592 593 594 595 <script type="text/javascript"> 596 document.addEventListener("DOMContentLoaded", function(event){ 597 jQuery(".minunikkarow").load("/Default.aspx?ID=379&wid=@valevniid"); 598 }); 599 </script> 600 601 602 603 604 <script> 605 document.addEventListener("DOMContentLoaded", function(event){ 606 if(document.getElementById("cookiwarcont") !== null) 607 { 608 $('#cookiwarcont').load('/Default.aspx?ID=30'); 609 } 610 }); 611 </script> 612 613 @GetString("Item.Area.Funktionalitetir.FacebookTrackingPixul") 614 615 @if(!String.IsNullOrEmpty(@GetString("Item.Area.Funktionalitetir.TrackingID"))) { 616 <text> 617 @{ 618 string trackid=@GetString("Item.Area.Funktionalitetir.TrackingID");} 619 @GetString("Item.Area.Uppseting.GoogleMapApi") 620 <script async="" src="https://www.googletagmanager.com/gtag/js?id=@trackid"></script> 621 <script> 622 window.dataLayer = window.dataLayer || []; 623 function gtag(){dataLayer.push(arguments);} 624 gtag('js', new Date()); 625 626 gtag('config', '@GetString("Item.Area.Funktionalitetir.TrackingID")'); 627 </script> 628 </text> 629 } 630 631 632 633 </body> 634 </html> 635 636