Error executing template "Designs/Storcash/MyPages_Base_Layout.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_b90ed37dd4f7483684953f26ca95e1c7.ExecuteAsync()
at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
2 @using System.IO;
3 @using System.Web;
4 @using NorgesGruppen.Dynamicweb.Frontend;
5 @using Newtonsoft.Json;
6
7 <!-- Variables -->
8 @{
9 bool isProduction = FrontendService.Config.Env == "prod";
10 string version = FrontendService.Config.Version;
11
12 var googleTagManagerScript = Model.Area.Item.GetField("Google_Tag_Manager").Value;
13
14 var favIcon = "/Files/Images/Icons/favicon.ico";
15 var loggedIn = Model.CurrentUser != null;
16 var logoutLink = $"/Admin/Public/ExtranetLogoff.aspx?ID={Model.ID}";
17 var loginPageId = GetPageIdByNavigationTag("Login");
18
19 var navbarID = GetPageIdByNavigationTag("Navbar");
20 var footerID = GetPageIdByNavigationTag("Footer");
21 var outDatedBrowserID = Model.Area.Item.GetInt32("OutDated_Browser_ID");
22
23 var mobileNavbarMenu = Model.Area.Item.GetField("Vite_Mobile_Navbar");
24
25 // Pre-load total price for mini-cart because reasons... This should really just be done inside the navbar template...
26 Dynamicweb.Context.Current.Items["CartTotalPrice"] = Model.Cart?.TotalPrice?.PriceWithVat?.FormattedNoSymbol.ToString() ?? "0,00";
27
28 // Open Graph Metadata image variables
29 string urlScheme = Dynamicweb.Context.Current.Request.Url.Scheme + "://";
30 string baseUrl = Dynamicweb.Context.Current.Request.Url.Host;
31 string openGraphImagePath = "";
32
33 if (Model.PropertyItem != null)
34 {
35 openGraphImagePath = urlScheme + baseUrl + Model.PropertyItem.GetField("OpenGraphImage").GetFile();
36 }
37
38 var contextAttributes = new Dictionary<string, object>() {
39
40 { "cart-feed-page-id", GetPageIdByNavigationTag("CartFeed") },
41 };
42
43 var contextAttributesFormatted = string.Join(" ", contextAttributes.Select(attr => string.Format("{0}='{1}'", attr.Key, attr.Value)));
44
45
46 var navigationContextAttributes = new Dictionary<string, object>()
47 {
48 { "logout-link" , logoutLink },
49 { "login-page-id", loginPageId },
50 };
51 var navigationContextAttributesFormatted = string.Join(" ", navigationContextAttributes.Select(attr => string.Format("{0}='{1}'", attr.Key, attr.Value)));
52
53 var pageUrls = FrontendService.PageUrlService.GetRequiredPageUrls(Model.Area.ID);
54 var serializedPageUrls = JsonConvert.SerializeObject(pageUrls, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
55 }
56
57 <!DOCTYPE html>
58 <html lang="no">
59 <head>
60 @googleTagManagerScript
61 <meta charset="utf-8" />
62 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
63 <title>@Model.Title</title>
64 @Model.MetaTags
65 <meta property="og:title" content="@Model.Title" />
66 <meta property="og:description" content="@Model.Description" />
67 <meta property="og:image" content="@openGraphImagePath" />
68
69 <!-- Porta þetta yfir -->
70 <link href="\Files\Templates\Designs\Storcash\CSS\Fonts\graphik\Graphik-Regular.otf" as="font" type="font/otf" crossorigin="anonymous" />
71 <link href="\Files\Templates\Designs\Storcash\CSS\Fonts\graphik\Graphik-Medium.otf" as="font" type="font/otf" crossorigin="anonymous" />
72
73 <!-- Porta þetta yfir -->
74 @if (isProduction)
75 {
76 <script src="/Files/Templates/Designs/Storcash/JS/Libraries/Prod_Jquery-3.3.1.min.js"></script>
77 }
78 else
79 {
80 <script src="/Files/Templates/Designs/Storcash/JS/Libraries/Prod_Jquery-3.3.1.js"></script>
81 }
82
83 <!-- Porta þetta yfir -->
84 <link rel="shortcut icon" type="image/x-icon" href="@favIcon" />
85 <link rel="stylesheet" href="https://unpkg.com/swiper@11/swiper-bundle.min.css" />
86 <script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.3/dist/JsBarcode.all.min.js"></script>
87 <script src="https://unpkg.com/swiper@11/swiper-bundle.min.js" defer></script>
88 @if (FrontendService.Config.IsDev())
89 {
90 @FrontendService.ViteStorcash.RenderModuleAssets()
91 }
92 else
93 {
94 @FrontendService.ViteStorcash.RenderManifestAssets()
95 }
96 </head>
97 <body>
98 <div id="app">
99 <dynamicweb-context :ecom-enabled='@FrontendService.Config.Ecommerce.Enabled.ToString().ToLower()'>
100 <navigation-context :tags='@serializedPageUrls'>
101 <auth-context user-id="@(Model.CurrentUser?.ID)">
102 <translations-context :area-id="@Model.Area.ID">
103 <cart-context>
104
105 @if (navbarID > 0)
106 {
107 @RenderGrid(navbarID)
108 }
109
110 @if (outDatedBrowserID > 0)
111 {
112 @RenderParagraphContent(outDatedBrowserID)
113 }
114
115 @*
116 Created: 08-10-24
117 Creater: Bragi
118 Template for displaying myPages pages
119 *@
120
121
122 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
123
124 @{
125 var link = Model.Item?.GetLink("MyPagesNavigation") ?? null;
126 var MyPagesNavTree = Navigation.GetNavigationViewModel(new Dynamicweb.Frontend.Navigation.NavigationSettings
127 {
128 StartLevel = 1,
129 StopLevel = 99,
130 ExpandMode = Dynamicweb.Frontend.Navigation.ExpandMode.All,
131 RootPageId = link.PageId
132 });
133 var nodesJson = Newtonsoft.Json.JsonConvert.SerializeObject(MyPagesNavTree.Nodes);
134 var showHeader = !Model.Item.GetBoolean("Hide_Default_Header");
135 var showHeaderParam = showHeader ? "true" : "false";
136 }
137
138 <my-pages-layout :show-header="@showHeaderParam" :nodes='@nodesJson'>
139 <template #desktop-nav>
140 <my-pages-mobile-nav :nodes='@nodesJson'></my-pages-mobile-nav>
141 </template>
142 <template #mobile-nav>
143 <link-list :nodes='@nodesJson' color="basic" text-size="14px"></link-list>
144 </template>
145 <template #nav-breadcrumbs>
146 <custom-breadcrumbs :nodes='@nodesJson'></custom-breadcrumbs>
147 </template>
148 <template #default>
149 @Model.Placeholder("mainContentPlaceholder", "Main Content Placeholder")
150 </template>
151 </my-pages-layout>
152
153 <div id="modal"></div>
154 </cart-context>
155 </translations-context>
156 </auth-context>
157 </navigation-context>
158 </dynamicweb-context>
159 @if (footerID > 0)
160 {
161 @RenderGrid(footerID)
162 }
163 </div>
164 </body>
165 </html>