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_bcf4ddb787714032a60d385a55f7107a.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/base.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+"\\base.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/styles.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 DateTime ulastmodified = File.GetLastWriteTime(@udatefetch);
21 stylecss=@stylecss+"?modified="+@ulastmodified.ToString("yyyy-MM-ddTHH:mm:ss");
22 }@{
23
24 string kolofonimg=@GetString("Item.Area.Design.Ikon");
25 }<!DOCTYPE html>
26 <html lang="fo">
27 @{
28 string pageid=@GetString("DwPageID");
29 string readspeak=@GetString("Item.Area.Funktionalitetir.BaseUr")+"?id="+pageid;
30 string pagenametit=@GetString("DwPageName");
31
32 string pagearea=@GetString("DwPageID_1");
33 pagearea="top"+pagearea;
34 ViewBag.BaseUrl = @GetString("Item.Area.Funktionalitetir.BaseUr");
35 ViewBag.StoddStarvs = @GetString("Item.Page.StoddStarv");
36 }<head>
37 <meta charset="utf-8">
38 <meta http-equiv="X-UA-Compatible" content="IE=edge">
39 <meta name="viewport" content="width=device-width, initial-scale=1">
40
41 <meta name="author" content="">
42 <meta property="og:url" content="@readspeak">
43 <meta property="og:locale" content="fo_FO">
44 <meta property="og:title" content="@pagenametit">
45 <meta name="google-site-verification" content="_8UkOXR321xXc60VV1folaRbl3pukMQpv1ifNUwjZXU">
46 <link rel="shortcut icon" type="image/ico" href="/Files/Templates/Designs/SSTemplate/img/favicon.ico">
47 <link rel="shortcut icon" type="image/png" href="/Files/Templates/Designs/SSTemplate/img/favicon.png">
48 @RenderSnippet("FBimg")
49
50 @foreach(LoopItem i in GetLoop("Item.Area.Design.Fontar")){
51
52 @i.GetString("Item.Area.Design.Fontar.Font")
53
54 }
55 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
56 <link rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/meanmenu.css?build=25">
57 <link rel="stylesheet" href="@basecss">
58
59 <link rel="stylesheet" href="@stylecss">
60
61
62 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/base-mobil.css">
63 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/styles-mobil.css">
64 <script type="text/javascript" src="/Files/Templates/Designs/SSTemplate/Fontur/Javascript/Clan.js"></script>
65 <script src="https://consent.cookiefirst.com/sites/j.fo-17b974b4-88db-494d-b44a-84321fcda66f/consent.js"></script>
66
67 @GetValue("CopyRightNotice")
68 @GetValue("MetaTags")
69 @GetValue("Stylesheets")
70 @GetValue("Javascripts")
71 </head>
72 <body>
73
74
75
76 @GetString("Item.Area.SomeAndShare.FacebookJaascriptSDK")
77
78
79 <div class="mynav d-md-none d-lg-none d-xl-none">
80 @GetValue("DwNavigation(mobmen)")
81
82 </div><!-- #dl-menu end -->
83
84 <div class="TopTopMenu container-fluid d-none d-sm-none d-md-block">
85 <div class="row">
86 <div class="container">
87 <div class="row">
88 <div class="col-12 toptopred">
89 <div class="samband">
90 <a href="/"><img class="logoimg" src="@logo" alt="Javnaðarflokkurin"></a>
91 </div>
92 <div class="toptoplinks navigation">
93 <a class="toptopfacebooklink" target="_blank" href="https://www.facebook.com/Javnadarflokkurin1925/"><span class="icon-share-facebook"><span class="path1"></span><span class="path2"></span><span class="path3"></span></span></a>
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="container d-none d-sm-none d-md-block">
110 <div class="row">
111 <div class="col-12" id="topmenu">
112
113 @GetValue("DwNavigation(topmen1)")
114
115 <form method="get" action="?id=47" id="searchform" class="form-inline my-2 my-md-0 relative searchform">
116 <input type="hidden" name="id" value="47">
117 <input type="submit" class="hide">
118
119 @{string placeholder=@GetString("Item.Area.NavAndSearch.PlaceholderTekstur");}
120 <input class="form-control stdsrchinput" name="q" type="text" placeholder="@placeholder"><span class="icon-search searchicon "></span>
121
122 </form>
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 @RenderParagraphContent(27)
466 </div>
467 <div class="col-xl-3 col-md-4 col-12 mt-5">
468 @RenderParagraphContent(28)
469 </div>
470 <div class="col-xl-3 col-md-4 col-12 mt-5">
471 @RenderParagraphContent(29)
472 </div>
473 <div class="col-xl-3 col-md-4 col-12 mt-5 fourth">
474 @RenderParagraphContent(30)
475 </div>
476 </div>
477 </div>
478 </div>
479
480 <div class="container-fluid footerbottom">
481 <div class="container">
482 <div class="row">
483 <div class="col-12 text-center">
484 <a class="kolofon" target="_blank" href="//www.sendistovan.fo"><img src="@kolofonimg" alt="Sendistovan">Ein loysn frá Sendistovuni</a>
485 </div>
486 </div>
487 </div>
488 </div>
489
490
491 <div class="mob-search">
492 <form method="post" action="?id=47" id="mob-searchform">
493 <input type="submit" class="hide">
494 <input class="mobinput" name="q" type="text" placeholder="Leita"><span class="icon-search mob-searchicon mob-submit"></span>
495 <span class="icon-menu-close mob-search-close"></span>
496
497 </form>
498 </div>
499
500
501 <div class="mobilmenpush hide">
502
503 @GetValue("DwNavigation(mobtoptopnav)")
504
505
506 </div>
507
508
509 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/lightgallery/css/lightgallery.min.css">
510 <link rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/tablesaw.css">
511 <script src="/Files/Templates/Designs/SSTemplate/js/tablesaw.js"></script>
512 <script src="/Files/Templates/Designs/SSTemplate/js/tablesaw-init.js"></script>
513 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
514 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
515 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lightgallery.min.js"></script>
516 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-thumbnail.js"></script>
517 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-zoom.js"></script>
518 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-video.js"></script>
519 <script src="/Files/Templates/Designs/SSTemplate/js/sendistovan.js"></script>
520
521
522
523 <script src="/Files/Templates/Designs/SSTemplate/js/meanmenu.js?build=24"></script>
524 <script>
525 document.addEventListener("DOMContentLoaded", function(event){
526 jQuery('.mynav').meanmenu();
527
528
529 var div1Html = $('.mobilmenpush').html();
530
531 $( ".meanmenu" ).append(div1Html);
532
533 $(".search-reveal").click(function(){
534
535
536 $('.mob-search').fadeIn("fast");
537 $('.mobinput').focus();
538 });
539
540 $(".mob-submit").click(function(){
541 $('#mob-searchform').submit();
542 });
543
544
545 });
546
547 </script>
548
549 <script>
550 window.addEventListener('resize', function(event){
551 jQuery('.mynav').meanmenu();
552
553
554 var div1Html = $('.mobilmenpush').html();
555
556 $( ".meanmenu" ).append(div1Html);
557
558 $(".search-reveal").click(function(){
559
560
561 $('.mob-search').fadeIn("fast");
562 $('.mobinput').focus();
563 });
564 </script>
565
566 <script>
567
568 document.addEventListener("DOMContentLoaded", function(event){
569 $('.mob-search').hide();
570
571 $(".mob-search-close").click(function(){
572
573
574 $('.mob-search').fadeOut("fast");
575 });
576
577
578
579 });
580 </script>
581
582
583
584
585
586 @{
587 string valevniid=@GetString("Item.Id");
588
589 }
590
591
592
593
594 <script type="text/javascript">
595 document.addEventListener("DOMContentLoaded", function(event){
596 jQuery(".minunikkarow").load("/Default.aspx?ID=379&wid=@valevniid");
597 });
598 </script>
599
600
601
602
603 <script>
604 document.addEventListener("DOMContentLoaded", function(event){
605 if(document.getElementById("cookiwarcont") !== null)
606 {
607 $('#cookiwarcont').load('/Default.aspx?ID=30');
608 }
609 });
610 </script>
611
612 @GetString("Item.Area.Funktionalitetir.FacebookTrackingPixul")
613
614 @if(!String.IsNullOrEmpty(@GetString("Item.Area.Funktionalitetir.TrackingID"))) {
615 <text>
616 @{
617 string trackid=@GetString("Item.Area.Funktionalitetir.TrackingID");}
618 @GetString("Item.Area.Uppseting.GoogleMapApi")
619 <script async="" src="https://www.googletagmanager.com/gtag/js?id=@trackid"></script>
620 <script>
621 window.dataLayer = window.dataLayer || [];
622 function gtag(){dataLayer.push(arguments);}
623 gtag('js', new Date());
624
625 gtag('config', '@GetString("Item.Area.Funktionalitetir.TrackingID")');
626 </script>
627 </text>
628 }
629
630
631
632 </body>
633 </html>
634
635