Error executing template "Designs/Swift/Paragraph/Swift_ProductListNavigation.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_3fc3f97b7803433a90b52b25a324bfdb.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.ParagraphViewModel>
2 @using Dynamicweb.Ecommerce.ProductCatalog
3 @using Dynamicweb.Frontend.Navigation
4 @using Dynamicweb.Environment
5 @using Dynamicweb.Core.Encoders
6 @using System.Text.RegularExpressions
7
8 @{
9 ProductListViewModel productList = new ProductListViewModel();
10
11 if (Dynamicweb.Context.Current.Items.Contains("ProductList"))
12 {
13 productList = (ProductListViewModel)Dynamicweb.Context.Current.Items["ProductList"];
14 }
15
16 string contentPadding = Model.Item.GetRawValueString("ContentPadding", "");
17 contentPadding = Model.Item.GetRawValueString("ContentPadding", string.Empty) == "none" ? " px-0 py-2" : contentPadding;
18 contentPadding = Model.Item.GetRawValueString("ContentPadding", string.Empty) == "small" ? " px-3 py-2" : contentPadding;
19 }
20
21 @if (productList.TotalProductsCount > 0)
22 {
23 string groupNavigationLayout = Model.Item.GetRawValueString("GroupNavigationLayout", "collapsible");
24
25 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", string.Empty).Trim().ToLower() : string.Empty;
26
27 int startLevel = Convert.ToInt32(Model.Item.GetRawValueString("GroupNavigationStartLevel", "2"));
28 int stopLevel = Convert.ToInt32(Model.Item.GetRawValueString("GroupNavigationStopLevel", "9"));
29
30 var navigationSettings = new NavigationSettings();
31 navigationSettings.StopLevel = stopLevel;
32 navigationSettings.Parameters.Add("ContentPadding", contentPadding);
33 navigationSettings.StartLevel = startLevel;
34
35 <div class="border-bottom py-2@(theme)">
36 @if (groupNavigationLayout == "collapsible")
37 {
38 navigationSettings.ExpandMode = ExpandMode.All;
39 navigationSettings.Parameters.Add("HideTexts", false);
40 navigationSettings.Parameters.Add("HideIcons", true);
41
42 <div class="d-flex@(contentPadding)" data-bs-toggle="collapse" data-bs-target="#ProductGroupNavigation_@Model.ID" role="button" aria-expanded="true" aria-controls="ProductGroupNavigation_@Model.ID">
43 <h2 class="opacity-85 m-0 flex-fill h6">@Translate("Navigation")</h2>
44 <div class="my-auto collapse-chevron-icon"></div>
45 </div>
46 <div class="collapse show" id="ProductGroupNavigation_@Model.ID">
47 @Navigation.RenderNavigation("Navigation/Vertical.cshtml", navigationSettings)
48 </div>
49 }
50
51 @if (groupNavigationLayout == "filter")
52 {
53 navigationSettings.ExpandMode = ExpandMode.Path;
54 @Navigation.RenderNavigation("Navigation/VerticalAndBreadcrumb.cshtml", navigationSettings)
55 }
56 </div>
57 }
58 else
59 {
60 <div class="alert alert-dark m-0" role="alert">
61 @Translate("Navigation: The navigation will be shown here, if any")
62 </div>
63 }
64