Error executing template "Designs/Swift/Navigation/BreadcrumbNavigation.cshtml"
System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Dynamicweb.Ecommerce.Products.GroupRelation.GetGroupRelationsByChildId(String childId)
at Dynamicweb.Ecommerce.Products.Group.get_IsTopGroup()
at Dynamicweb.Ecommerce.Shops.Shop.GetTopLevelGroups(String languageId)
at Dynamicweb.Ecommerce.Frontend.Navigation.GroupNavigationTreeNodeProvider.GetGroupsBySettings(PageNavigationSettings ecomSettings)
at Dynamicweb.Ecommerce.Frontend.Navigation.GroupNavigationTreeNodeProvider.GetGroups(NavigationTreeNode parent, Page page)
at Dynamicweb.Ecommerce.Frontend.Navigation.GroupNavigationTreeNodeProvider.GetNodes(NavigationContext context, NavigationSettings settings, NavigationTreeNode parent)
at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at Dynamicweb.Frontend.Navigation.NavigationService.FilterNodesByExpandMode(NavigationContext context, NavigationSettings settings, NavigationTreeNode parent, IEnumerable`1 nodes, Int32 nodesLevel)
at Dynamicweb.Frontend.Navigation.NavigationService.GetNavigationNodes(NavigationContext context, NavigationSettings settings, NavigationTreeNode parent)
at Dynamicweb.Frontend.Navigation.NavigationTreeNodeViewModel.get_Nodes()
at CompiledRazorTemplates.Dynamic.RazorEngine_695db32eb142459684f0da990014b3b9.Execute() in D:\dynamicweb.net\Solutions\nextech\Superhome.swiftstaging.dynamicweb-cms.com\files\Templates\Designs\Swift\Navigation\BreadcrumbNavigation.cshtml:line 37
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.Navigation.NavigationTreeViewModel>
2
3 @if (!Pageview.IsVisualEditorMode)
4 {
5 string menuId = Model.Parameters.ContainsKey("menu-id") ? $"menu_{Model.Parameters["menu-id"].ToString().ToLower()}" : string.Empty;
6 bool showProductInBreadcrumb = Model.Parameters.ContainsKey("showProductInBreadcrumb") ? Dynamicweb.Core.Converter.ToBoolean(Model.Parameters["showProductInBreadcrumb"]) : false;
7
8 <ol class="breadcrumb small mb-0 @menuId">
9 @{
10 var breadCrumbNavigationTree = new Stack<Dynamicweb.Frontend.Navigation.NavigationTreeNodeViewModel>(Model.Nodes);
11
12 while (breadCrumbNavigationTree.Count > 0)
13 {
14 var currentNode = breadCrumbNavigationTree.Pop();
15 if (currentNode.ShowInBreadcrumb)
16 {
17 if (!string.IsNullOrEmpty(currentNode.Link))
18 {
19 <li class="breadcrumb-item">
20 <a href="@currentNode.Link">
21 @currentNode.Name
22 </a>
23 </li>
24 }
25 else
26 {
27 <li class="breadcrumb-item">
28 @currentNode.Name
29 </li>
30 }
31 }
32
33 @*if (currentNode.Nodes.Count() == 0)
34 {
35 <h1 style="visibility:hidden">@currentNode.Name</h1>
36 }*@
37 foreach (var nextNode in currentNode.Nodes)
38 {
39 breadCrumbNavigationTree.Push(nextNode);
40 }
41 }
42 }
43 @if (showProductInBreadcrumb && !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["ProductID"]))
44 {
45 string productid = Dynamicweb.Context.Current.Request.QueryString["ProductID"];
46 string variantid = Dynamicweb.Context.Current.Request.QueryString["VariantID"];
47 var product = Dynamicweb.Ecommerce.Services.Products.GetProductById(productid, variantid, Dynamicweb.Ecommerce.Common.Context.LanguageID);
48 if (product != null)
49 {
50 <li class="breadcrumb-item">
51 @product.Name
52 </li>
53 }
54 }
55
56 </ol>
57 }
58 else if (Model.Nodes.Count() < 2)
59 {
60 <div class="alert alert-dark m-0" role="alert">
61 <span>@Translate("Breadcrumb navigation: The navigation will be shown here, if any")</span>
62 </div>
63 }
64