Kurven er tom
Du har desværre ingen produkter i kurven
Error executing template "Designs/Swift/Navigation/MegaMenu.cshtml" System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct. at System.Collections.Generic.Dictionary`2.FindValue(TKey key) at Dynamicweb.Ecommerce.Products.GroupService.GetSubgroups(Group group, Boolean showUnTranslated) 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.MoveNext() at System.Linq.Enumerable.<Any>g__WithEnumerator|36_0[TSource](IEnumerable`1 source) at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source) at CompiledRazorTemplates.Dynamic.RazorEngine_4f4f103996bb425f8617b288a1507102.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 System.IO @using Dynamicweb.Ecommerce.ProductCatalog @using Dynamicweb.Ecommerce.Common @using System.Text @functions { string RenderNavigationItem(Dynamicweb.Frontend.Navigation.NavigationTreeNodeViewModel node, string pageType, string pageIcon, string iconSize, string layout) { bool pageTypeSwiftCart = pageType == "Swift_Cart"; double totalProducts = 0; if (Dynamicweb.Ecommerce.Common.Context.Cart != null && pageTypeSwiftCart) { totalProducts = Dynamicweb.Ecommerce.Common.Context.Cart.GetParentProductLineQuantityCount(Dynamicweb.Ecommerce.Common.Context.Cart.OrderLines); } bool iconValid = pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) && !pageIcon.EndsWith("none.svg", StringComparison.OrdinalIgnoreCase); string iconPath = iconValid ? Dynamicweb.Context.Current.Server.MapPath(pageIcon) : string.Empty; string iconRender = iconValid ? $"<span class=\"{iconSize}\">{@ReadFile(iconPath)}</span>" : string.Empty; string totalProductsRender = pageTypeSwiftCart ? $"<span class=\"js-cart-qty mini-cart-quantity\">{(@totalProducts)}</span>" : string.Empty; string nameRender = $"<span>{@node.Name}</span>"; StringBuilder navigationItemBuilder = new StringBuilder(); navigationItemBuilder.Append(layout.ToLower().StartsWith("link") ? nameRender : iconRender); navigationItemBuilder.Append(totalProductsRender); navigationItemBuilder.Append(layout.ToLower().EndsWith("icons") ? iconRender : layout.ToLower().EndsWith("links") ? nameRender : string.Empty); return navigationItemBuilder.ToString(); } Dictionary<string, object> GetGroupImageParams() { Dictionary<string, object> groupImageParams = new Dictionary<string, object>(); string productGroupImageShape = Model.Parameters["ProductGroupImageShape"] != null ? Model.Parameters["ProductGroupImageShape"].ToString() : string.Empty; string productGroupImageSize = Model.Parameters["ProductGroupImageSize"] != null ? Model.Parameters["ProductGroupImageSize"].ToString() : string.Empty; string ratio = productGroupImageSize.Contains("%") ? Model.Parameters["ProductGroupImageSize"].ToString() : string.Empty; groupImageParams.Add("ProductGroupImageShape", productGroupImageShape); groupImageParams.Add("ProductGroupImageSize", productGroupImageSize); groupImageParams.Add("Ratio", ratio); return groupImageParams; } } @{ string theme = !string.IsNullOrEmpty(Model.Parameters["theme"].ToString()) ? Model.Parameters["theme"].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 = "icon-3"; if (linkFontSize == "fs-7") { iconSize = "icon-2"; } if (linkFontSize == "fs-5") { iconSize = "icon-4"; } string dropdownAlignment = Model.Parameters["DropdownAlignment"] != null ? Model.Parameters["DropdownAlignment"].ToString() : string.Empty; string dropdownLinkHeaderFontWeight = Model.Parameters["DropdownLinkHeaderFontWeight"] != null ? Model.Parameters["DropdownLinkHeaderFontWeight"].ToString() : string.Empty; string dropdownLinkHeaderCasing = Model.Parameters["DropdownLinkHeaderCasing"] != null ? Model.Parameters["DropdownLinkHeaderCasing"].ToString() : string.Empty; string dropdownLinkHeaderFontSize = Model.Parameters["DropdownLinkHeaderFontSize"] != null ? Model.Parameters["DropdownLinkHeaderFontSize"].ToString() : string.Empty; string dropdownLinkFontWeight = Model.Parameters["DropdownLinkFontWeight"] != null ? Model.Parameters["DropdownLinkFontWeight"].ToString() : string.Empty; string dropdownLinkCasing = Model.Parameters["DropdownLinkCasing"] != null ? Model.Parameters["DropdownLinkCasing"].ToString() : string.Empty; string dropdownLinkFontSize = Model.Parameters["DropdownLinkFontSize"] != null ? Model.Parameters["DropdownLinkFontSize"].ToString() : string.Empty; string productGroupImagePlacement = Model.Parameters["ProductGroupImagePlacement"] != null ? Model.Parameters["ProductGroupImagePlacement"].ToString() : string.Empty; string imageAlignment = ""; imageAlignment = dropdownAlignment == "justify-content-start text-start" && productGroupImagePlacement == "flex-row" ? "align-items-center" : imageAlignment; imageAlignment = dropdownAlignment == "justify-content-start text-start" && productGroupImagePlacement == "flex-row-reverse" ? "align-items-center" : imageAlignment; imageAlignment = dropdownAlignment == "justify-content-start text-start" && productGroupImagePlacement == "flex-column" ? "align-items-start" : imageAlignment; imageAlignment = dropdownAlignment == "justify-content-center text-center" && productGroupImagePlacement == "flex-row" ? "align-items-center" : imageAlignment; imageAlignment = dropdownAlignment == "justify-content-center text-center" && productGroupImagePlacement == "flex-row-reverse" ? "align-items-center" : imageAlignment; imageAlignment = dropdownAlignment == "justify-content-center text-center" && productGroupImagePlacement == "flex-column" ? "align-items-center" : imageAlignment; imageAlignment = dropdownAlignment == "justify-content-end text-end" && productGroupImagePlacement == "flex-row" ? "align-items-center" : imageAlignment; imageAlignment = dropdownAlignment == "justify-content-end text-end" && productGroupImagePlacement == "flex-row-reverse" ? "align-items-center" : imageAlignment; bool showProductGroupPromotionImage = Model.Parameters.ContainsKey("ShowProductGroupPromotionImage") ? Convert.ToBoolean(Model.Parameters["ShowProductGroupPromotionImage"].ToString()) : false; string menuId = Model.Parameters.ContainsKey("menu-id") ? $"menu_{Model.Parameters["menu-id"].ToString().ToLower()}" : string.Empty; int currentParagraphId = Pageview.CurrentParagraph.ID; } <nav class="d-flex py-0 @navAlignment"> <ul class="nav flex-nowrap @menuId"> @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 submenuType = "auto"; if (page.PropertyItem is object && page.PropertyItem.TryGetValue("SubmenuType", out object submenuTypeValue)) { submenuType = Dynamicweb.Core.Converter.ToString(submenuTypeValue); } string pageIcon = string.Empty; if (page.PropertyItem is object && page.PropertyItem.TryGetValue("Icon", out object pageIconValue)) { pageIcon = Dynamicweb.Core.Converter.ToString(pageIconValue); } var hasChildren = node.Nodes.Count() > 0; string dropdownAttributes = hasChildren ? " role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" data-bs-offset=\"0,0\"" : ""; bool hasManyChildren = false; foreach (var subnode in node.Nodes) { if (subnode.Nodes.Any()) { hasManyChildren = true; } } submenuType = submenuType == "auto" && hasManyChildren ? "megamenu" : submenuType; submenuType = submenuType == "auto" && !hasManyChildren ? "dropdown" : submenuType; string submenuTypeCss = submenuType == "dropdown" ? " dropdown" : ""; submenuTypeCss = submenuType == "megamenu" ? " dropdown position-static" : submenuTypeCss; string nodeId = !string.IsNullOrEmpty(node.GroupId) ? "Megamenu_" + node.GroupId + "_" + currentParagraphId : "Megamenu_Page_" + node.PageId.ToString() + "_" + currentParagraphId; string dataType = !string.IsNullOrEmpty(node.GroupId) ? "group" : "page"; <li id="@(nodeId)" data-type="@dataType" class="nav-item@(node.IsActive ? " active" : "")@submenuTypeCss"> @if (node.IsClickable) { @:<a class="nav-link p-2 text-decoration-underline-hover @linkFontWeight @linkCasing @linkFontSize@(node.IsActive ? " active" : "")@(hasChildren ? " dropdown-toggle" : "")" href="@node.Link" @dropdownAttributes id="NavLink_@nodeId"> } else { @:<span class="nav-link p-2 @linkFontWeight @linkCasing @linkFontSize @dropdownAlignment@(hasChildren ? " dropdown-toggle" : "")" @dropdownAttributes id="NavLink_@nodeId"> } @RenderNavigationItem(node, pageType, pageIcon, iconSize, layout) @if (node.IsClickable) { @:</a> } else { @:</span> } @if (hasChildren) { if (submenuType == "megamenu") { <div class="dropdown-menu megamenu py-4@(theme)" aria-labelledby="@nodeId" id="NavGroup@(nodeId)"> <div class="container-xl"> @if (showProductGroupPromotionImage && !string.IsNullOrEmpty(node.GroupId)) { <div class="grid gap-4"> <div class="g-col-9 g-col-xxl-10"> <div class="d-flex flex-wrap gap-3 mx-n2 mx-xxl-n3 @dropdownAlignment"> @foreach (var subnode in node.Nodes) { nodeId = !string.IsNullOrEmpty(subnode.GroupId) ? "Megamenu_" + subnode.GroupId + "_" + currentParagraphId : "Megamenu_Page_" + subnode.PageId.ToString() + "_" + currentParagraphId; dataType = !string.IsNullOrEmpty(subnode.GroupId) ? "group" : "page"; <div class="col-4 col-xl-3 col-xxl-2"> @if (subnode.IsClickable) { @:<a id="@(nodeId)" data-type="@dataType" href="@subnode.Link" class="nav-link text-decoration-underline-hover lh-sm text-break"> } else { @:<div id="@(nodeId)" data-type="@dataType" class="nav-link lh-sm text-break"> } @if (productGroupImagePlacement != "none") { Dictionary<string, object> groupImageParams = GetGroupImageParams(); <div class="d-flex @productGroupImagePlacement @imageAlignment gap-3"> @RenderPartial("Navigation/MegaMenu/GroupImage.cshtml", subnode, groupImageParams) <h6 class="m-0 w-100 @dropdownLinkHeaderFontWeight @dropdownLinkHeaderCasing @dropdownLinkHeaderFontSize">@subnode.Name</h6> </div> } else { <h6 class="m-0 @dropdownLinkHeaderFontWeight @dropdownLinkHeaderCasing @dropdownLinkHeaderFontSize">@subnode.Name</h6> } @if (subnode.IsClickable) { @:</a> } else { @:</div> } @* copy paste group image og lav clickable løsning *@ @if (subnode.Nodes.Any()) { foreach (var subsubnode in subnode.Nodes) { nodeId = !string.IsNullOrEmpty(subsubnode.GroupId) ? "Megamenu_" + subsubnode.GroupId + "_" + currentParagraphId : "Megamenu_Page_" + subsubnode.PageId.ToString() + "_" + currentParagraphId; dataType = !string.IsNullOrEmpty(subsubnode.GroupId) ? "group" : "page"; if (subsubnode.IsClickable) { <a class="nav-link text-decoration-underline-hover lh-sm text-break" href="@subsubnode.Link" @(subnode.IsActive ? " aria-current='page'" : "")> @if (productGroupImagePlacement != "none") { Dictionary<string, object> groupImageParams = GetGroupImageParams(); <div class="d-flex @productGroupImagePlacement @imageAlignment gap-3"> @RenderPartial("Navigation/MegaMenu/GroupImage.cshtml", subsubnode, groupImageParams) <span class="w-100 @dropdownLinkFontWeight @dropdownLinkCasing @dropdownLinkFontSize">@subsubnode.Name</span> </div> } else { <span class="@dropdownLinkFontWeight @dropdownLinkCasing @dropdownLinkFontSize">@subsubnode.Name</span> } </a> } else { <div class="nav-link text-decoration-underline-hover lh-sm text-break" @(subnode.IsActive ? " aria-current='page'" : "")> @if (productGroupImagePlacement != "none") { Dictionary<string, object> groupImageParams = GetGroupImageParams(); <div class="d-flex @productGroupImagePlacement @imageAlignment gap-3"> @RenderPartial("Navigation/MegaMenu/GroupImage.cshtml", subsubnode, groupImageParams) <span class="w-100 @dropdownLinkFontWeight @dropdownLinkCasing @dropdownLinkFontSize">@subsubnode.Name</span> </div> } else { <span class="@dropdownLinkFontWeight @dropdownLinkCasing @dropdownLinkFontSize">@subsubnode.Name</span> } </div> } } } </div> } </div> </div> <div class="g-col-3 g-col-xxl-2" id="NavGroupPromotion@(nodeId)"> @{ ProductGroupViewModel promotionImageGroup = node.GetProductGroup(); string link = node.Link; IList<FieldValueViewModel> promotionImageGroupFields = promotionImageGroup.GroupFields != null ? promotionImageGroup.GroupFields : null; if (promotionImageGroupFields != null) { var groupName = promotionImageGroup.Name; string ratio = Model.Parameters["ImageAspectRatio"].ToString(); ratio = ratio != "0" ? ratio : string.Empty; string ratioCssClass = ratio != string.Empty ? " ratio" : ""; string ratioVariable = ratio != "" ? "style=\"--bs-aspect-ratio: " + ratio + "\"" : string.Empty; string productGroupPromotionImage = string.Empty; string productGroupPromotionImageSrc = string.Empty; string productGroupPromotionImagePath = string.Empty; string productGroupPromotionDescription = string.Empty; string productGroupPromotionLinkLabel = string.Empty; string productGroupPromotionLink = string.Empty; string productGroupPromotionImageTheme = Model.Parameters.ContainsKey("ProductGroupPromotionImageTheme") ? Model.Parameters["ProductGroupPromotionImageTheme"].ToString().ToLower() : string.Empty; string gridGap = !string.IsNullOrEmpty(productGroupPromotionImageTheme) ? "gap-0" : "gap-3"; string themePadding = !string.IsNullOrEmpty(productGroupPromotionImageTheme) ? "p-3" : "p-0"; foreach (FieldValueViewModel field in promotionImageGroupFields) { if (field.SystemName == "ProductGroupPromotionImage") { productGroupPromotionImage = field.Value != null ? field.Value.ToString() : string.Empty; productGroupPromotionImageSrc = Dynamicweb.Context.Current.Server.UrlEncode("Files/Images/" + productGroupPromotionImage); productGroupPromotionImagePath = $"/Admin/Public/GetImage.ashx?Image={productGroupPromotionImageSrc}&Width=480&Crop=0"; } if (field.SystemName == "ProductGroupPromotionDescription") { productGroupPromotionDescription = field.Value != null ? field.Value.ToString() : string.Empty; } if (field.SystemName == "ProductGroupPromotionLinkLabel") { productGroupPromotionLinkLabel = field.Value != null ? field.Value.ToString() : string.Empty; } if (field.SystemName == "ProductGroupPromotionLink") { productGroupPromotionLink = field.Value != null ? field.Value.ToString() : string.Empty; } } <div class="grid grid-1 @gridGap@(productGroupPromotionImageTheme)"> @if (productGroupPromotionImage != string.Empty) { productGroupPromotionLink = !string.IsNullOrEmpty(productGroupPromotionLink) ? productGroupPromotionLink : link; <a href="@productGroupPromotionLink" title="@groupName" id="NavGroupPromotionFigureLink@(promotionImageGroup.Id)"> <figure class="m-0@(ratioCssClass)" @ratioVariable> <img class="img-fluid" src="@productGroupPromotionImagePath" alt="@groupName" style="object-fit:cover" loading="lazy"> </figure> </a> } @if (!string.IsNullOrEmpty(productGroupPromotionDescription) || !string.IsNullOrEmpty(productGroupPromotionLinkLabel)) { <div class="grid grid-1 @themePadding "> @if (!string.IsNullOrEmpty(productGroupPromotionDescription)) { <h6 class="m-0">@productGroupPromotionDescription</h6> } @if (!string.IsNullOrEmpty(productGroupPromotionLinkLabel)) { productGroupPromotionLink = !string.IsNullOrEmpty(productGroupPromotionLink) ? productGroupPromotionLink : link; <a href="@productGroupPromotionLink" title="@productGroupPromotionLinkLabel" class="btn btn-link text-start border-0 p-0" id="NavGroupPromotionTextLink@(promotionImageGroup.Id)">@productGroupPromotionLinkLabel</a> } </div> } </div> } } </div> </div> } else { <div class="d-flex flex-wrap mx-n2 mx-xxl-n3 @dropdownAlignment"> @foreach (var subnode in node.Nodes) { nodeId = !string.IsNullOrEmpty(subnode.GroupId) ? "Megamenu_" + subnode.GroupId + "_" + currentParagraphId : "Megamenu_Page_" + subnode.PageId.ToString() + "_" + currentParagraphId; dataType = !string.IsNullOrEmpty(subnode.GroupId) ? "group" : "page"; <div class="col-4 col-xl-3 col-xxl-2"> @if (subnode.IsClickable) { @:<a id="@(nodeId)" data-type="@dataType" href="@subnode.Link" class="nav-link text-decoration-underline-hover lh-sm text-break"> } else { @:<div id="@(nodeId)" data-type="@dataType" class="nav-link lh-sm text-break"> } @if (productGroupImagePlacement != "none") { Dictionary<string, object> groupImageParams = GetGroupImageParams(); <div class="d-flex @productGroupImagePlacement @imageAlignment gap-3"> @{@RenderPartial("Navigation/MegaMenu/GroupImage.cshtml", subnode, groupImageParams)} <h6 class="m-0 w-100 @dropdownLinkHeaderFontWeight @dropdownLinkHeaderCasing @dropdownLinkHeaderFontSize">@subnode.Name</h6> </div> } else { <h6 class="m-0 @dropdownLinkHeaderFontWeight @dropdownLinkHeaderCasing @dropdownLinkHeaderFontSize">@subnode.Name</h6> } @if (subnode.IsClickable) { @:</a> } else { @:</div> } @if (subnode.Nodes.Any()) { foreach (var subsubnode in subnode.Nodes) { nodeId = !string.IsNullOrEmpty(subsubnode.GroupId) ? "Megamenu_" + subsubnode.GroupId + "_" + currentParagraphId : "Megamenu_Page_" + subsubnode.PageId.ToString() + "_" + currentParagraphId; dataType = !string.IsNullOrEmpty(subsubnode.GroupId) ? "group" : "page"; if (subsubnode.IsClickable) { @:<a id="@(nodeId)" data-type="@dataType" class="nav-link text-decoration-underline-hover lh-sm text-break" href="@subsubnode.Link" @(subnode.IsActive ? " aria-current='page'" : "")> } else { @:<div id="@(nodeId)" data-type="@dataType" class="nav-link lh-sm text-break" @(subnode.IsActive ? " aria-current='page'" : "")> } if (productGroupImagePlacement != "none") { Dictionary<string, object> groupImageParams = GetGroupImageParams(); <div class="d-flex @productGroupImagePlacement @imageAlignment gap-3"> @{@RenderPartial("Navigation/MegaMenu/GroupImage.cshtml", subsubnode, groupImageParams)} <span class="w-100 @dropdownLinkFontWeight @dropdownLinkCasing @dropdownLinkFontSize">@subsubnode.Name</span> </div> } else { <span class="@dropdownLinkFontWeight @dropdownLinkCasing @dropdownLinkFontSize">@subsubnode.Name</span> } if (subsubnode.IsClickable) { @:</a> } else { @:</div> } } } </div> } </div> } </div> </div> } else { <ul class="dropdown-menu@(theme)" aria-labelledby="@nodeId"> @if (pageType == "Swift_SignIn") { if (Pageview.User == null) { <li> <a href="@node.Link" class="px-3 py-2 dropdown-item text-decoration-underline-hover @linkFontWeight @linkCasing @linkFontSize" @(node.IsActive ? " aria-current='page'" : "")>@node.Name</a> </li> } } @foreach (var subnode in node.Nodes) { <li> @if (subnode.IsClickable) { <a class="px-3 py-2 dropdown-item text-decoration-underline-hover @linkFontWeight @linkCasing @linkFontSize" href="@subnode.Link" @(node.IsActive ? " aria-current='page'" : "")>@subnode.Name</a> } else { <span class="px-3 py-2 dropdown-item @linkFontWeight @linkCasing @linkFontSize" @(node.IsActive ? " aria-current='page'" : "")>@subnode.Name</span> } </li> } @if (pageType == "Swift_SignIn") { if (Pageview.User != null) { string link = "/Admin/Public/ExtranetLogoff.aspx?redirect=no"; <li><hr class="dropdown-divider"></li> if (Dynamicweb.Security.UserManagement.User.GetCurrentSecondaryUser() != null) { <li> <a href="Default.aspx?ID=@(Pageview.ID)&DwExtranetRemoveSecondaryUser=1" class="px-3 py-2 dropdown-item text-decoration-underline-hover swift_sign-out-as-customer-link @linkFontWeight @linkCasing @linkFontSize" @(node.IsActive ? " aria-current='page'" : "")>@Translate("Sign out as a customer")</a> </li> } <li> <a href="@link" class="px-3 py-2 dropdown-item text-decoration-underline-hover swift_sign-out-link @linkFontWeight @linkCasing @linkFontSize" @(node.IsActive ? " aria-current='page'" : "")>@Translate("Sign out")</a> </li> } } </ul> } } </li> } </ul> </nav>
Du har desværre ingen produkter i kurven
Vi og vores partnere bruger teknologier, inklusiv cookies, til at indsamle information om dig til forskellige formål, inkluderet:
Ved at klikke 'Acceptér Alle' giver du samtykke til disse formål. Du kan også vælge at bestemme, hvilke formål du vil give samtykke til med valgmulighederne herunder, og klikke 'Acceptér valgte'.
Du kan læse mere om vores brug af cookies og andre teknologier, samt vores indsamling og processering af personlig data, ved at klikke her:
Læs mere om Cookies Vores fortrolighedspolitik