Error executing template "Designs/Hive/_parsed/Hive_DetailComponent.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_081b653401bd4e8e862ea798bad1c2f7.Execute() in C:\inetpub\wwwroot\directions2023\Files\Templates\Designs\Hive\_parsed\Hive_DetailComponent.parsed.cshtml:line 145
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>
@using Dynamicweb
@using Dynamicweb.Environment
@{
string swiftVersion = ReadFile("/Files/Templates/Designs/Swift/swift_version.txt");
@* Branding Themes Fonts *@
var disableWideBreakpoints = Model.Area?.Item?.GetRawValueString("DisableWideBreakpoints", "default");
string favicon = Model.Area.Item.GetFile("Favicon") != null ? Model.Area.Item.GetFile("Favicon").Path : "/Files/Templates/Designs/Swift/Assets/Images/favicon.png";
string googleTagManagerID = Model.Area.Item.GetString("GoogleTagManagerID");
string googleAnalyticsMeasurementID = Pageview.AreaSettings.GetString("GoogleAnalyticsMeasurementID");
var cookieOptInLevel = CookieManager.GetCookieOptInLevel();
bool allowTracking = cookieOptInLevel == CookieOptInLevel.All || (cookieOptInLevel == CookieOptInLevel.Functional && CookieManager.GetCookieOptInCategories().Contains("Statistical"));
// Schema.org details for PDP
string productId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("ProductID")) ? Dynamicweb.Context.Current.Request.QueryString.Get("ProductID") : "";
bool isProductDetailsPage = !string.IsNullOrEmpty(productId);
bool isArticlePage = Model.ItemType == "Hive_Article";
string schemaOrgType = string.Empty;
if(isProductDetailsPage)
{
schemaOrgType = "itemscope=\"\" itemtype=\"https://schema.org/Product\"";
}
if(isArticlePage)
{
schemaOrgType = "itemscope=\"\" itemtype=\"https://schema.org/Article\"";
}
}
<!doctype html>
<html lang="@Pageview.Area.CultureInfo.TwoLetterISOLanguageName">
<head>
<!-- @swiftVersion -->
@* Required meta tags *@
<meta charset="utf-8">
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="@favicon">
<link rel="apple-touch-icon" href="/Files/Templates/Designs/Swift/Assets/Images/logo_transparent.png">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="googlebot-news" content="nosnippet">
@Model.MetaTags
<title>@Model.Title</title>
@* Bootstrap + Swift stylesheet *@
@if (disableWideBreakpoints != "disableBoth")
{
<style>
@@media ( min-width: 1600px ) {
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container {
max-width: 1520px;
}
}
</style>
if (disableWideBreakpoints != "disableUltraWideOnly")
{
<style>
@@media ( min-width: 1920px ) {
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container {
max-width: 1820px;
}
}
</style>
}
}
@* Google tag manager *@
@if (!string.IsNullOrWhiteSpace(googleTagManagerID) && allowTracking)
{
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window, document, 'script', 'dataLayer', '@(googleTagManagerID)');
function gtag() { dataLayer.push(arguments); }
</script>
}
@if (!string.IsNullOrWhiteSpace(googleAnalyticsMeasurementID) && allowTracking)
{
var GoogleAnalyticsDebugMode = "";
bool isLoggedInBackendUser = false;
if (Dynamicweb.Security.UserManagement.User.GetCurrentBackendUser() != null) {
isLoggedInBackendUser = true;
}
if (Model.Area.Item.GetBoolean("EnableGoogleAnalyticsDebugMode") && @isLoggedInBackendUser)
{
GoogleAnalyticsDebugMode = ", {'debug_mode': true}";
}
<script async src="https://www.googletagmanager.com/gtag/js?id=@googleAnalyticsMeasurementID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '@googleAnalyticsMeasurementID'@GoogleAnalyticsDebugMode);
</script>
}
</head>
<body class="brand ">
<main id="content" @(schemaOrgType)>
<div data-intersect></div>
@inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
@using System
@using Dynamicweb.Ecommerce.ProductCatalog
@{
bool isVisualEditor = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("VisualEdit")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("VisualEdit")) : false;
string theme = "";
string contentPadding = "";
string gridContent = "";
if (Model.PropertyItem != null)
{
theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : string.Empty;
contentPadding = Model.Item.GetRawValueString("ContentPadding", "");
contentPadding = contentPadding == "none" ? "p-0" : contentPadding;
contentPadding = contentPadding == "small" ? "p-2 p-md-3" : contentPadding;
contentPadding = contentPadding == "large" ? "p-4 p-md-5" : contentPadding;
contentPadding = contentPadding == "small-x" ? "px-2 px-md-3" : contentPadding;
contentPadding = contentPadding == "large-x" ? "px-4 px-md-5" : contentPadding;
}
if (Model.Item != null)
{
gridContent = Model.Grid("Grid", "Component Grid", "default:true;sort:1", "HiveComponentDetail");
}
string viewType = Model.Item.GetRawValueString("ViewType", "3-columns");
string viewTypeMobile = Model.Item.GetRawValueString("ViewTypeMobile", "2-columns");
string mobileColumns = viewTypeMobile == "list" ? "g-col-12" : "";
mobileColumns = viewTypeMobile == "2-columns" ? "g-col-6" : mobileColumns;
<div class="bg-light w-100 position-relative">
<div class="p-5 position-fixed" style="z-index: 10">
<h3 class="h5">@Translate("Component builder for"): @Model.Item.GetString("Title")</h3>
</div>
<div class="container-xl d-flex flex-row align-items-center justify-content-center min-vh-100">
<div class="grid w-100">
@if (viewType == "list")
{
<div class="@mobileColumns g-col-lg-12 shadow @contentPadding @theme p-2">
@gridContent
</div>
}
@if (viewType == "2-columns")
{
<div class="@mobileColumns g-col-lg-6 shadow @contentPadding @theme p-2">
@gridContent
</div>
<div class="@mobileColumns g-col-lg-6 bg-black" style="opacity: 10%"></div>
}
@if (viewType == "3-columns")
{
<div class="@mobileColumns g-col-lg-4 shadow @contentPadding @theme p-2">
@gridContent
</div>
<div class="@mobileColumns g-col-lg-4 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-4 bg-black" style="opacity: 10%"></div>
}
@if (viewType == "4-columns")
{
<div class="@mobileColumns g-col-lg-3 shadow @contentPadding @theme p-2">
@gridContent
</div>
<div class="@mobileColumns g-col-lg-3 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-3 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-3 bg-black" style="opacity: 10%"></div>
}
@if (viewType == "6-columns")
{
<div class="@mobileColumns g-col-lg-2 shadow @contentPadding @theme p-2">
@gridContent
</div>
<div class="@mobileColumns g-col-lg-2 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-2 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-2 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-2 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-2 bg-black" style="opacity: 10%"></div>
<div class="@mobileColumns g-col-lg-2 bg-black" style="opacity: 10%"></div>
}
</div>
</div>
</div>
}
<script>
document.querySelector('#VisualEditoForcedTopHeight').style.height = 0;
</script>
</main>
</body>
</html>