
New 15km bike park in the heart of Pines forrest
This is a legitimate expert-level trail, but much of the difficulty can be mitigated by slowing down and picking your line carefully.
Stop med at svede sved i sine spor med Castellis tieback bandana.
Levering inden 7 hverdage
3 års garanti
Error executing template "Designs/Swift/Paragraph/Swift_ProductFieldDisplayGroups.cshtml" System.ArgumentException: An item with the same key has already been added. Key: GROUP173 at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldGroupValueService.GetOrderedInheritableParentIds(Group group, String defaultLanguageId) at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldGroupValueService.RecursivelySearchForFieldValues(Group group, String defaultLanguageId, List`1 categoryFields) at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldGroupValueService.RecursivelySearchForFieldValues(Group group, String defaultLanguageId, List`1 categoryFields) at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode) at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy`1.CreateValue() at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldGroupValueService.GetGroupFieldValuesByLanguage(Group group, List`1 categoryFields, String languageId, Boolean isInheritedValue, Boolean searchRecursively) at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldGroupValueService.GetGroupCategoryFieldValues(IEnumerable`1 groups, List`1 fields, Boolean allowFallback) at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldGroupValueService.GetDefaultCategoryValuesFromGroups(IEnumerable`1 groupInfos, List`1 catFields) at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldGroupValueService.GetDefaultCategoryValueFromGroups(IEnumerable`1 groupInfos, Field catField) at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldValueService.GetProductCategoryFieldValue(Product product, String categoryId, Field field) at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.CreateView(ProductViewModelSettings settings, Product product, Field field) at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.SetupFieldViewModel(ProductViewModelSettings settings, Product product, String languageID, IDictionary`2 categoriesOnProduct, CategoryFieldViewModel categoryView, IEnumerable`1 fields) at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.GetFieldDisplayGroupValues(ProductViewModelSettings settings, Product product, String languageID, Lazy`1 productIds) at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.<>c__DisplayClass5_1.<BulkCreateView>b__61() at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode) at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy`1.CreateValue() at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.CreateProductFieldGroupsView(ProductViewModel model, IEnumerable`1 groupSystemNames, Boolean hideZeroValues) at CompiledRazorTemplates.Dynamic.RazorEngine_920756f3b6ae4814a41537f4be98b010.GetDisplayGroups(ProductViewModel product) at CompiledRazorTemplates.Dynamic.RazorEngine_920756f3b6ae4814a41537f4be98b010.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> @using Dynamicweb.Ecommerce.ProductCatalog @functions { ProductViewModel GetProduct() { ProductViewModel product = null; if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) { product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; } return product; } List<FieldGroupViewModel> GetDisplayGroups(ProductViewModel product) { bool hideFieldsWithZeroValue = Model.Item.GetBoolean("HideFieldsWithZeroValue"); var selectedDisplayGroupSystemName = Model.Item.GetList("DisplayGroups")?.GetRawValue().OfType<string>(); var displayGroups = product.GetProductDisplayGroupFieldsByGroupSystemNames(selectedDisplayGroupSystemName, hideFieldsWithZeroValue); return displayGroups.ToList(); } public static string FirstCharToUpper(string input) { return input[0].ToString().ToUpper() + input.Substring(1); } } @{ ProductViewModel product = GetProduct(); if (product is object) { string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); contentPadding = contentPadding == "none" ? string.Empty : contentPadding; contentPadding = contentPadding == "small" ? " p-2 p-md-3" : contentPadding; contentPadding = contentPadding == "large" ? " p-4 p-md-5" : contentPadding; string size = "compact"; string gapCss = size == "full" ? " gap-4" : " gap-2"; var displayGroups = GetDisplayGroups(product); var templateParams = new Dictionary<string, object> { { "Groups", displayGroups }, { "Size", size }, { "HideGroupHeaders", Model.Item.GetBoolean("HideGroupHeaders") }, { "HideTitle", Model.Item.GetBoolean("HideTitle") } }; string templateLayout = Model.Item.GetRawValueString("Layout", "list"); string templateLayoutPath = $"Components/Specifications/{FirstCharToUpper(templateLayout)}.cshtml"; <div class="h-100@(theme)@(contentPadding) item_@Model.Item.SystemName.ToLower()"> <div class="grid@(gapCss)"> @RenderPartial(templateLayoutPath, Model, templateParams) </div> </div> } else { <div class="alert alert-warning m-0">@Translate("Product Specification will be shown here if any")</div> } }