Error executing template "Designs/Swift/Navigation/Navigation.cshtml" System.ArgumentException: An item with the same key has already been added. Key: GROUP16 at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at Dynamicweb.Ecommerce.Shops.Shop.GetTopLevelGroups(String languageId) at Dynamicweb.Ecommerce.Frontend.Navigation.GroupNavigationTreeNodeProvider.GetGroupsBySettings(PageNavigationSettings ecomSettings) at Dynamicweb.Ecommerce.Frontend.Navigation.GroupNavigationTreeNodeProvider.GetNodes(NavigationContext context, NavigationSettings settings, NavigationTreeNode parent) at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext() at System.Linq.Enumerable.SelectEnumerableIterator`2.GetCount(Boolean onlyIfCheap) at CompiledRazorTemplates.Dynamic.RazorEngine_980ea07b5ba4427896742fca9e487f5c.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.Navigation.NavigationTreeViewModel> @using Dynamicweb @using Dynamicweb.Ecommerce.Orders @using System.Text.RegularExpressions @{ string theme = !string.IsNullOrEmpty(Model.Parameters["Theme"].ToString()) ? Model.Parameters["Theme"].ToString() : string.Empty; string navOrientation = !string.IsNullOrEmpty(Model.Parameters["NavOrientation"].ToString()) ? Model.Parameters["NavOrientation"].ToString() : string.Empty; string navAlignment = !string.IsNullOrEmpty(Model.Parameters["NavAlignment"].ToString()) ? Model.Parameters["NavAlignment"].ToString() : string.Empty; string linkFontWeight = !string.IsNullOrEmpty(Model.Parameters["LinkFontWeight"].ToString()) ? Model.Parameters["LinkFontWeight"].ToString() : string.Empty; string linkCasing = !string.IsNullOrEmpty(Model.Parameters["LinkCasing"].ToString()) ? Model.Parameters["LinkCasing"].ToString() : string.Empty; string linkFontSize = !string.IsNullOrEmpty(Model.Parameters["LinkFontSize"].ToString()) ? Model.Parameters["LinkFontSize"].ToString() : string.Empty; string layout = !string.IsNullOrEmpty(Model.Parameters["Layout"].ToString()) ? Model.Parameters["Layout"].ToString() : string.Empty; string iconSize = linkFontSize == "fs-7" ? "icon-2" : "icon-3"; iconSize = linkFontSize == "fs-5" ? "icon-4" : iconSize; int currentParagraphId = Pageview.CurrentParagraph.ID; bool showOnlyFirstNavLevel = Model.Parameters.ContainsKey("ShowOnlyFirstNavLevel") ? Convert.ToBoolean(Model.Parameters["ShowOnlyFirstNavLevel"].ToString()) : false; string menuId = Model.Parameters.ContainsKey("menu-id") ? $"menu_{Model.Parameters["menu-id"].ToString().ToLower()}" : string.Empty; string groupId = Dynamicweb.Context.Current.Request["GroupID"] != null ? Dynamicweb.Context.Current.Request["GroupID"].ToString() : string.Empty; string productId = Dynamicweb.Context.Current.Request["ProductID"] != null ? Dynamicweb.Context.Current.Request["ProductID"].ToString() : string.Empty; string variantId = Dynamicweb.Context.Current.Request["VariantID"] != null ? Dynamicweb.Context.Current.Request["VariantID"].ToString() : string.Empty; string navItemVisuallyHidden = layout == "iconsOnly" ? "visually-hidden" : null; } <nav class="d-flex py-0 @navOrientation @navAlignment"> <ul class="nav flex-nowrap @(navOrientation == "vertical" ? "flex-column" : navOrientation)"> @foreach (var node in Model.Nodes) { var page = Dynamicweb.Content.Services.Pages.GetPage(node.PageId); var pageType = !string.IsNullOrEmpty(page.ItemType) ? page.ItemType : "Swift_Page"; string pageIcon = string.Empty; if (page.PropertyItem is object && page.PropertyItem.TryGetValue("Icon", out object pageIconValue)) { pageIcon = Dynamicweb.Core.Converter.ToString(pageIconValue); } string iconPath = Dynamicweb.Context.Current.Server.MapPath(pageIcon); string preferencesLayout = page.Item?["PreferencesLayout"] != null ? page.Item["PreferencesLayout"].ToString() : string.Empty; string preferencesType = "language"; bool countrySelector = page.Item?["CountrySelector"] != null ? Convert.ToBoolean(page.Item["CountrySelector"].ToString()) : false; bool languageSelector = page.Item?["LanguageSelector"] != null ? Convert.ToBoolean(page.Item["LanguageSelector"].ToString()) : false; bool currencySelector = page.Item?["CurrencySelector"] != null ? Convert.ToBoolean(page.Item["CurrencySelector"].ToString()) : false; var hasChildren = node.Nodes.Count() > 0 || pageType == "Swift_SignIn"; string nodeId = !string.IsNullOrEmpty(node.GroupId) ? "Navigation_" + node.GroupId + "_" + currentParagraphId : "Navigation_Page_Desktop_" + node.PageId.ToString() + "_" + currentParagraphId; string dropdownAttributes = hasChildren && !showOnlyFirstNavLevel ? " role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" data-bs-offset=\"0,0\"" : string.Empty; string dropdownClasses = string.Empty; if (pageType != "Swift_Preferences") { <li class="nav-item@(hasChildren ? " dropdown" : string.Empty)"> @if (node.IsClickable) { @:<a href="@node.Link" class="p-2 nav-link text-nowrap text-decoration-underline-hover @linkFontSize @linkFontWeight @linkCasing@(node.IsActive ? " active" : "")@(hasChildren ? " dropdown-toggle" : string.Empty)" @dropdownAttributes @(node.IsActive ? " aria-current='page'" : "") id="@nodeId"> } else { @:<span class="p-2 nav-link text-nowrap @linkFontSize @linkFontWeight @linkCasing@(hasChildren ? " dropdown-toggle " : string.Empty)" @dropdownAttributes id="@nodeId"> } @if (pageType == "Swift_Cart") //Mini cart { string cartId = page.Item["ContextCart"] != null && page.Item["ContextCart"] != string.Empty ? $"ID=\"Cart_{page.Item["ContextCart"].ToString()}\"" : string.Empty; string jsCartClass = string.IsNullOrEmpty(cartId) ? "js-cart-qty" : string.Empty; double totalProducts = 0; Dynamicweb.Ecommerce.Common.Context.CartContext = null; if (page.Item["ContextCart"] != null) { var orderContext = Dynamicweb.Ecommerce.Services.OrderContexts.GetOrderContextById(page.Item["ContextCart"].ToString()); Dynamicweb.Ecommerce.Common.Context.CartContext = orderContext; } if (Dynamicweb.Ecommerce.Common.Context.Cart != null) { bool renderOrderlineCountInsteadOfProductCount = page.Item["RenderOrderlineCountInsteadOfProductCount"] != null ? Convert.ToBoolean(page.Item["RenderOrderlineCountInsteadOfProductCount"]) : false; if (!renderOrderlineCountInsteadOfProductCount) { totalProducts = Dynamicweb.Ecommerce.Common.Context.Cart.GetParentProductLineQuantityCount(Dynamicweb.Ecommerce.Common.Context.Cart.OrderLines); } else { foreach (var orderline in Dynamicweb.Ecommerce.Common.Context.Cart.OrderLines) { if (orderline.HasType(new[] { OrderLineType.Product, OrderLineType.Fixed, OrderLineType.PointProduct, OrderLineType.GiftCard })) { totalProducts++; } } } } if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize pe-none">@ReadFile(iconPath)</span> } <span class="@(navItemVisuallyHidden)">@node.Name</span> <span class="@jsCartClass mini-cart-quantity pe-none" @cartId data-order-context="@page.Item["ContextCart"]">@totalProducts</span> if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize pe-none">@ReadFile(iconPath)</span> } } else { if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize pe-none">@ReadFile(iconPath)</span> } <span class="@(navItemVisuallyHidden)">@node.Name</span> if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize pe-none">@ReadFile(iconPath)</span> } } @if (node.IsClickable) { @:</a> } else { @:</span> } @if (hasChildren && !showOnlyFirstNavLevel) { <ul class="dropdown-menu @(theme)" aria-labelledby="@nodeId"> @foreach (var subnode in node.Nodes)//Standard pages { nodeId = !string.IsNullOrEmpty(subnode.GroupId) ? "Navigation_" + subnode.GroupId + "_" + currentParagraphId : "Navigation_Page_" + subnode.PageId.ToString() + "_" + currentParagraphId; <li> @if (subnode.IsClickable) { <a href="@subnode.Link" class="dropdown-item py-2 text-decoration-underline-hover @linkFontSize @linkFontWeight @linkCasing" @(subnode.IsActive ? " aria-current='page'" : string.Empty) id="@nodeId">@subnode.Name</a> } else { <span class="dropdown-item py-2 @linkFontSize @linkFontWeight @linkCasing" @(subnode.IsActive ? " aria-current='page'" : string.Empty) id="@nodeId">@subnode.Name</span> } </li> } @if (pageType == "Swift_SignIn") //Sign out link { if (Pageview.User != null) { string signOutLink = "/Admin/Public/ExtranetLogoff.aspx?redirect=no"; <li><hr class="dropdown-divider"></li> if (Dynamicweb.Security.UserManagement.User.GetCurrentSecondaryUser() != null) { string customerSignOutLink = $"Default.aspx?ID={Pageview.ID}&DwExtranetRemoveSecondaryUser=1"; <li> <a href="@customerSignOutLink" class="dropdown-item py-2 text-decoration-underline-hover swift_sign-out-as-customer-link @linkFontSize @linkFontWeight @linkCasing" id="SignInButton_@currentParagraphId">@Translate("Sign out as a customer")</a> </li> } <li> <a href="@signOutLink" class="dropdown-item py-2 text-decoration-underline-hover swift_sign-out-link @linkFontSize @linkFontWeight @linkCasing">@Translate("Sign out")</a> </li> } } </ul> } </li> 2 } else { string name = node.Name; if (preferencesLayout == "modal") { if (languageSelector) { string iconFolder = "/Files/FlagIcons/"; 3 var region = new System.Globalization.RegionInfo(Pageview.Area.CultureInfo.LCID); 4 5 iconPath = $"{iconFolder}{region.Name}.svg"; 6 name = region.DisplayName; } <li class="nav-item@(hasChildren ? " dropdown" : string.Empty)"> <form action="/Default.aspx?ID=@node.PageId" data-response-target-element="PreferencesModalContent" data-layout-template="Swift_Preferences.cshtml" data-preloader="inline"> <input type="hidden" name="CurrentPageID" value="@Pageview.ID"> <input type="hidden" name="GroupID" value="@groupId"> <input type="hidden" name="ProductID" value="@productId"> <input type="hidden" name="VariantID" value="@variantId"> <button type="button" onmouseover="swift.PageUpdater.Update(event)" onclick="swift.PageUpdater.Update(event)" class="btn border-0 nav-link p-2 text-nowrap border-0 swift_open-preferences-modal @linkFontSize @linkFontWeight @linkCasing" data-bs-toggle="modal" data-bs-target="#PreferencesModal" id="OpenPreferences_@currentParagraphId"> @if (layout == "iconsAndLinks" && iconPath.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !iconPath.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } <span class="@(navItemVisuallyHidden)">@name</span> @if (layout != "linksOnly" && layout != "iconsAndLinks" && iconPath.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !iconPath.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } </button> </form> </li> } else { var ecomCountries = Dynamicweb.Ecommerce.Services.Countries.GetCountries(); var currencies = Dynamicweb.Ecommerce.Services.Currencies.GetAllCurrencies(); List<Dynamicweb.Content.Page> languages = new List<Dynamicweb.Content.Page>(); if (languageSelector) { if (Pageview.Page.Area.IsMaster) { languages.Add(Pageview.Page); if (Pageview.Page.Languages != null) { foreach (var language in Pageview.Page.Languages) { if (language.Area.Active == true) { languages.Add(language); } } } } else { languages.Add(Pageview.Page.MasterPage); if (Pageview.Page.MasterPage != null) { if (Pageview.Page.MasterPage.Languages != null) { foreach (var language in Pageview.Page.MasterPage.Languages) { if (language.Area.Active == true) { languages.Add(language); } } } } } } if (languageSelector && languages.Count > 1) { string iconFolder = "/Files/FlagIcons/"; pageIcon = iconFolder + Pageview.Area.CultureInfo.Name.ToLower() + ".svg"; Regex reg = new Regex(@"\(([^\)]+)\)"); name = reg.Replace(Pageview.Area.CultureInfo.DisplayName, ""); string linkElementId = $"{preferencesType}Selector_{Pageview.CurrentParagraph.ID}_{node.PageId}"; <li class="nav-item dropdown"> <form class="d-none d-lg-block" action="/Default.aspx?ID=@node.PageId" data-response-target-element="@(preferencesType)Dropdown_@currentParagraphId" data-layout-template="Swift_Preferences.cshtml" data-preloader="inline"> <input type="hidden" name="Type" value="@preferencesType"> <input type="hidden" name="CurrentPageID" value="@Pageview.ID"> <input type="hidden" name="GroupID" value="@groupId"> <input type="hidden" name="ProductID" value="@productId"> <input type="hidden" name="VariantID" value="@variantId"> <input type="hidden" name="FontSize" value="@linkFontSize"> <input type="hidden" name="FontWeight" value="@linkFontWeight"> <input type="hidden" name="Casing" value="@linkCasing"> <button type="button" id="@linkElementId" onmouseover="swift.PageUpdater.Update(event)" onclick="swift.PageUpdater.Update(event)" class="btn border-0 nav-link p-2 text-nowrap text-decoration-underline-hover @linkFontSize @linkFontWeight @linkCasing@(node.IsActive ? " active" : string.Empty) dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" @(node.IsActive ? " aria-current='page'" : string.Empty)> @if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(pageIcon)</span> } <span class="@(navItemVisuallyHidden)">@name</span> @if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(pageIcon)</span> } </button> <ul class="dropdown-menu @(theme)" id="@(preferencesType)Dropdown_@currentParagraphId"></ul> </form> <form class="d-block d-lg-none" action="/Default.aspx?ID=@node.PageId" data-response-target-element="PreferencesModalContent" data-layout-template="Swift_Preferences.cshtml" data-preloader="inline"> <input type="hidden" name="Layout" value="modal"> <input type="hidden" name="CurrentPageID" value="@Pageview.ID"> <input type="hidden" name="GroupID" value="@groupId"> <input type="hidden" name="ProductID" value="@productId"> <input type="hidden" name="VariantID" value="@variantId"> <button type="button" onmouseover="swift.PageUpdater.Update(event)" onclick="swift.PageUpdater.Update(event)" class="btn nav-link p-2 text-nowrap border-0 swift_open-preferences-modal @linkFontSize @linkFontWeight @linkCasing" data-bs-toggle="modal" data-bs-target="#PreferencesModal"> @if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } <span class="@(navItemVisuallyHidden)">@name</span> @if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } </button> </form> </li> } if (countrySelector && ecomCountries.Count > 1) { name = Translate("Deliver to") + ": " + Dynamicweb.Ecommerce.Common.Context.Country.GetName(Dynamicweb.Ecommerce.Common.Context.LanguageID); preferencesType = "country"; string linkElementId = $"{preferencesType}Selector_{Pageview.CurrentParagraph.ID}_{node.PageId}"; <li class="nav-item dropdown"> <form class="d-none d-lg-block" action="/Default.aspx?ID=@node.PageId" data-response-target-element="@(preferencesType)Dropdown_@currentParagraphId" data-layout-template="Swift_Preferences.cshtml" data-preloader="inline"> <input type="hidden" name="Type" value="@preferencesType"> <input type="hidden" name="CurrentPageID" value="@Pageview.ID"> <input type="hidden" name="GroupID" value="@groupId"> <input type="hidden" name="ProductID" value="@productId"> <input type="hidden" name="VariantID" value="@variantId"> <input type="hidden" name="FontSize" value="@linkFontSize"> <input type="hidden" name="FontWeight" value="@linkFontWeight"> <input type="hidden" name="Casing" value="@linkCasing"> <a id="@linkElementId" onmouseover="swift.PageUpdater.Update(event)" onclick="swift.PageUpdater.Update(event)" class="nav-link p-2 text-nowrap text-decoration-underline-hover @linkFontSize @linkFontWeight @linkCasing@(node.IsActive ? " active" : string.Empty) dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" @(node.IsActive ? " aria-current='page'" : string.Empty)> @if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } <span class="@(navItemVisuallyHidden)">@name</span> @if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } </a> <ul class="dropdown-menu @(theme)" id="@(preferencesType)Dropdown_@currentParagraphId"></ul> </form> <form class="d-block d-lg-none" action="/Default.aspx?ID=@node.PageId" data-response-target-element="PreferencesModalContent" data-layout-template="Swift_Preferences.cshtml" data-preloader="inline"> <input type="hidden" name="Layout" value="modal"> <input type="hidden" name="CurrentPageID" value="@Pageview.ID"> <input type="hidden" name="GroupID" value="@groupId"> <input type="hidden" name="ProductID" value="@productId"> <input type="hidden" name="VariantID" value="@variantId"> <button type="button" onmouseover="swift.PageUpdater.Update(event)" onclick="swift.PageUpdater.Update(event)" class="btn nav-link p-2 text-nowrap border-0 swift_open-preferences-modal @linkFontSize @linkFontWeight @linkCasing" data-bs-toggle="modal" data-bs-target="#PreferencesModal"> @if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } <span>@name</span> @if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } </button> </form> </li> } if (currencySelector && currencies.Count() > 1) { name = Dynamicweb.Ecommerce.Common.Context.Currency.Code; preferencesType = "currency"; string linkElementId = $"{preferencesType}Selector_{Pageview.CurrentParagraph.ID}_{node.PageId}"; <li class="nav-item dropdown"> <form class="d-none d-lg-block" action="/Default.aspx?ID=@node.PageId" data-response-target-element="@(preferencesType)Dropdown_@currentParagraphId" data-layout-template="Swift_Preferences.cshtml" data-preloader="inline"> <input type="hidden" name="Type" value="@preferencesType"> <input type="hidden" name="CurrentPageID" value="@Pageview.ID"> <input type="hidden" name="GroupID" value="@groupId"> <input type="hidden" name="ProductID" value="@productId"> <input type="hidden" name="VariantID" value="@variantId"> <input type="hidden" name="FontSize" value="@linkFontSize"> <input type="hidden" name="FontWeight" value="@linkFontWeight"> <input type="hidden" name="Casing" value="@linkCasing"> <a id="@linkElementId" onmouseover="swift.PageUpdater.Update(event)" onclick="swift.PageUpdater.Update(event)" class="nav-link p-2 text-nowrap text-decoration-underline-hover @linkFontSize @linkFontWeight @linkCasing@(node.IsActive ? " active" : string.Empty) dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" @(node.IsActive ? " aria-current='page'" : string.Empty)> @if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } <span class="@(navItemVisuallyHidden)">@name</span> @if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } </a> <ul class="dropdown-menu @(theme)" id="@(preferencesType)Dropdown_@currentParagraphId"></ul> </form> <form class="d-block d-lg-none" action="/Default.aspx?ID=@node.PageId" data-response-target-element="PreferencesModalContent" data-layout-template="Swift_Preferences.cshtml" data-preloader="inline"> <input type="hidden" name="Layout" value="modal"> <input type="hidden" name="CurrentPageID" value="@Pageview.ID"> <input type="hidden" name="GroupID" value="@groupId"> <input type="hidden" name="ProductID" value="@productId"> <input type="hidden" name="VariantID" value="@variantId"> <button type="button" onmouseover="swift.PageUpdater.Update(event)" onclick="swift.PageUpdater.Update(event)" class="btn nav-link p-2 text-nowrap border-0 swift_open-preferences-modal @linkFontSize @linkFontWeight @linkCasing" data-bs-toggle="modal" data-bs-target="#PreferencesModal"> @if (layout == "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } <span>@name</span> @if (layout != "linksOnly" && layout != "iconsAndLinks" && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase)) { <span class="@iconSize">@ReadFile(iconPath)</span> } </button> </form> </li> } } } } </ul> </nav>
Vi og våre partnere bruker teknologier, inkludert informasjonskapsler, for å samle inn informasjon om deg til ulike formål, inkludert:
Ved å klikke på "Godta alle" samtykker du til disse formålene. Du kan også velge å bestemme hvilke formål du vil samtykke til ved å velge alternativene nedenfor og klikke på "Godta valgt.
Du kan lese mer om vår bruk av informasjonskapsler og andre teknologier og vår innsamling og behandling av personopplysninger ved å klikke her:
Les mer om informasjonskapsler Våre retningslinjer for personvern