Fremragende 4.7 ud af 5 på Trustpilot

Error executing template "Designs/Swift-v2/Paragraph/Swift-v2_Preferences/Offcanvas.cshtml"
System.ArgumentException: Customized cultures cannot be passed by LCID, only by name. (Parameter 'culture')
   at System.Globalization.RegionInfo..ctor(Int32 culture)
   at CompiledRazorTemplates.Dynamic.RazorEngine_81416d691638439a9b940373f5dc9f7a.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) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\dw10agent2\_w\3\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\dw10agent2\_w\3\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> @using Dynamicweb.Frontend @using Dynamicweb.Frontend.Navigation @using System.Text.RegularExpressions @using Microsoft.AspNetCore.WebUtilities @{ int updatePageId = Pageview.Page.ID; string loadContent = Dynamicweb.Context.Current?.Request.QueryString.Get("LoadContent") ?? string.Empty; var region = new System.Globalization.RegionInfo(Pageview.Area.CultureInfo.LCID); string? title = null; if (Model.Item.TryGetString("Title", out string customTitle)) { title = customTitle; } if (Model.Item.GetBoolean("UseLanguageName")) { title = region.DisplayName; } string pageIcon = string.Empty; if (Model.Item.TryGetString("Icon", out var icon)) { pageIcon = icon; } string flagIconFolder = "/Files/Images/Icons/Flags/"; if (Model.Item.GetBoolean("UseLanguageIcon")) { pageIcon = $"{flagIconFolder}{region.Name}.svg"; } } @if(loadContent != "true") { <div class="nav-wrapper"> <span class="p-2 nav-link d-inline-flex align-items-center gap-2 text-nowrap text-decoration-underline-hover" role="button" data-bs-toggle="offcanvas" data-bs-target="#DynamicOffcanvas" id="PreferencesDropdown_@Model.ID" hx-get hx-vals='{"ParagraphId": "@Model.ID", "LayoutTemplate": "Swift-v2_PageClean.cshtml", "LoadContent": "true"}' hx-trigger="click" hx-swap="innerHTML" hx-target="#DynamicOffcanvas"> @if (!string.IsNullOrEmpty(pageIcon) && pageIcon.EndsWith(".svg", StringComparison.OrdinalIgnoreCase)) { <span class="icon-3 pe-none">@ReadFile(pageIcon)</span> } @if (!string.IsNullOrEmpty(title)) { <span>@title</span> } </span> </div> } else { var languages = new List<Dynamicweb.Content.Page>(); var ecomCountries = Dynamicweb.Ecommerce.Services.Countries.GetCountries()?.OrderBy(country => country.GetName(Pageview.Area.EcomLanguageId)) ?? null; var currencies = Dynamicweb.Ecommerce.Services.Currencies.GetAllCurrencies(); if (Model.Item.GetBoolean("LanguageSelector") == true) { 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 { if (Pageview.Page.MasterPage != null) { languages.Add(Pageview.Page.MasterPage); if (Pageview.Page.MasterPage.Languages != null) { foreach (var language in Pageview.Page.MasterPage.Languages) { if (language.Area.Active == true) { languages.Add(language); } } } } } } <div class="offcanvas-header"> <h5 class="offcanvas-title" id="PreferencesLabel">@Translate("Preferences")</h5> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="@Translate("Close")"></button> </div> <div class="offcanvas-body"> @if (Model.Item.GetBoolean("LanguageSelector") == true && languages.Count > 1) { <div class="form-floating mb-3"> <select id="LanguageSelect" name="ID" class="form-select d-col-12" aria-label="@Translate("Select language")" hx-trigger="change" hx-target="#DynamicOffcanvas" hx-get="/" hx-vals='{"ParagraphId": "@Model.ID", "LayoutTemplate": "Swift-v2_PageClean.cshtml", "LoadContent": "true"}'> @foreach (var language in languages) { if (language != null && language.Published && language.Area.Active && language.Area.Published) { string selectedLanguage = language.Area.ID == Pageview.Area.ID ? "selected" : ""; updatePageId = selectedLanguage != "" ? language.ID : updatePageId; var masterPageId = Pageview.Page?.MasterPageId != null && Pageview.Page.MasterPageId != 0 ? Pageview.Page.MasterPageId : Pageview.ID; var preferencePageId = Dynamicweb.Content.Services.Pages.GetPageIDByMasterID(masterPageId, language.AreaId); preferencePageId = preferencePageId == 0 ? Pageview.Page.MasterPageId : preferencePageId; preferencePageId = preferencePageId == 0 ? Pageview.Page.ID : preferencePageId; <option hreflang="@language.Area.CultureInfo.TwoLetterISOLanguageName" value="@preferencePageId" @selectedLanguage>@language.Area.DisplayName</option> } } </select> <label for="LanguageSelect">@Translate("Language")</label> </div> } @if (Model.Item.GetBoolean("CountrySelector") == true && ecomCountries?.Count<Dynamicweb.Ecommerce.International.Country>() > 1) { <div class="form-floating mb-3"> <select name="CountryCode" id="CountryCodeSelect" class="form-select d-col-12" aria-label="@Translate("Select country")" hx-trigger="change" hx-target="#DynamicOffcanvas" hx-get="/" hx-vals='{"ID": "@updatePageId", "ParagraphId": "@Model.ID", "LayoutTemplate": "Swift-v2_PageClean.cshtml", "LoadContent": "true"}'> @foreach (var country in ecomCountries) { var selectedCountry = country.Code2 == Dynamicweb.Ecommerce.Common.Context.Country.Code2 ? "selected" : ""; if (!string.IsNullOrEmpty(country.GetName(Pageview.Area.EcomLanguageId))) { <option value="@country.Code2" @selectedCountry>@country.GetName(Pageview.Area.EcomLanguageId)</option> } } </select> <label for="CountryCodeSelect">@Translate("Delivery country")</label> </div> } @if (Model.Item.GetBoolean("CurrencySelector") == true && currencies.Count() > 1) { <div class="form-floating mb-3"> <select name="CurrencyCode" id="CurrencySelect" class="form-select d-col-12" aria-label="@Translate("Select currency")" hx-trigger="change" hx-target="#DynamicOffcanvas" hx-get="/" hx-vals='{"ID": "@updatePageId", "ParagraphId": "@Model.ID", "LayoutTemplate": "Swift-v2_PageClean.cshtml", "LoadContent": "true"}'> @foreach (var currency in currencies) { string selectedCurrency = currency.Code == Dynamicweb.Ecommerce.Common.Context.Currency.Code ? "selected" : ""; if (!string.IsNullOrEmpty(currency.Code)) { <option value="@currency.Code" @selectedCurrency>@currency.Code</option> } } </select> <label for="CurrencySelect">@Translate("Currency")</label> </div> } </div> @{ var uri = Dynamicweb.Context.Current?.Request?.Url; var queryParams = QueryHelpers.ParseQuery(uri?.Query); queryParams.Remove("LoadContent"); queryParams.Remove("ParagraphId"); queryParams.Remove("LayoutTemplate"); var newQuery = string.Join("&", queryParams.Select(kvp => $"{kvp.Key}={kvp.Value}")); var updateUrl = $"{uri?.Scheme}://{uri?.Host}{uri?.AbsolutePath}?{newQuery}"; } <div class="offcanvas-footer"> <a href="@updateUrl" hx-boost class="btn btn-primary w-100" data-dw-button="primary">@Translate("Update preferences")</a> </div> }
Error executing template "Designs/Swift-v2/eCom/ProductCatalog/ProductSliderComponent.cshtml"
System.ArgumentException: Paragraph ID must be greater than 0, but it was 0
   at Dynamicweb.Content.ParagraphService.GetParagraph(Int32 paragraphId) in E:\dw10agent2\_w\3\s\src\Features\Content\Dynamicweb\Content\ParagraphService.cs:line 83
   at CompiledRazorTemplates.Dynamic.RazorEngine_91b928b300f441eeb4515053b2e6592a.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) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\dw10agent2\_w\3\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\dw10agent2\_w\3\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductListViewModel> @using Dynamicweb.Frontend @using Dynamicweb.Rendering @using Dynamicweb.Ecommerce.ProductCatalog @using Dynamicweb.Environment @functions { public ProductViewModel GetProduct() { ProductViewModel product = null; if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) { product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; } return product; } } @{ string googleTagManagerID = Pageview.AreaSettings.GetString("GoogleTagManagerID"); bool allowTracking = true; if (CookieManager.IsCookieManagementActive) { var cookieOptInLevel = CookieManager.GetCookieOptInLevel(); allowTracking = cookieOptInLevel == CookieOptInLevel.All || (cookieOptInLevel == CookieOptInLevel.Functional && CookieManager.GetCookieOptInCategories().Contains("Statistical")); } int paragraphId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("ParagraphId")) ? Convert.ToInt32(Dynamicweb.Context.Current.Request.Form.Get("ParagraphId")) : 0; var paragraph = Dynamicweb.Content.Services.Paragraphs?.GetParagraph(paragraphId) ?? null; ParagraphInfoViewModel paragraphViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(paragraph); int itemSourcePageId = Convert.ToInt32(paragraphViewModel.Item.GetRawValueString("ListComponentSource", "0")); var pageService = new Dynamicweb.Content.PageService(); itemSourcePageId = itemSourcePageId > 0 && pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID) != null ? pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID).ID : itemSourcePageId; var page = itemSourcePageId != 0 ? Dynamicweb.Content.Services.Pages.GetPage(itemSourcePageId) : null; } @if (paragraphViewModel != null && page != null) { if (Model.Products.Any()) { string sourceType = paragraphViewModel.Item.GetRawValueString("RelationType", "Trending"); int modelId = paragraphViewModel.ID; string navigationStyle = paragraphViewModel.Item.GetRawValueString("NavigationStyle", "slider-nav-round"); string navigationPlacement = paragraphViewModel.Item.GetRawValueString("NavigationPlacement", "slider-nav-on-slides"); string indicatorStyle = paragraphViewModel.Item.GetRawValueString("IndicatorStyle", string.Empty); string revealSlides = paragraphViewModel.Item.GetRawValueString("RevealSlides", "no-reveal") == "reveal" ? "slider-item-reveal" : string.Empty; string sliderItemsGap = paragraphViewModel.Item.GetRawValueString("SliderItemsGap", "slider-item-gap") == "slider-item-nogap" ? "slider-item-nogap" : string.Empty; string navigationAlwaysVisible = (paragraphViewModel.Item.GetBoolean("NavigationAlwaysVisible")) ? "slider-nav-visible" : string.Empty; string navigationVisibleOnTouch = (paragraphViewModel.Item.GetBoolean("NavigationVisibleOnTouch")) ? "slider-nav-touch" : string.Empty; string navigationShowScrollbar = (paragraphViewModel.Item.GetBoolean("NavigationShowScrollbar")) ? "slider-nav-scrollbar" : string.Empty; string scrollBarForceMobile = (paragraphViewModel.Item.GetBoolean("NavigationShowScrollbar")) ? "--swiffy-slider-track-height:0.5rem !important;" : string.Empty; string navigationSmall = (paragraphViewModel.Item.GetBoolean("NavigationSmall")) ? "slider-nav-sm" : string.Empty; string navigationInvertColors = (paragraphViewModel.Item.GetBoolean("NavigationInvertColors")) ? "slider-nav-dark" : string.Empty; string navigationSlideEntirePage = (paragraphViewModel.Item.GetBoolean("NavigationSlideEntirePage")) ? "slider-nav-page" : string.Empty; string navigationNoLoop = (paragraphViewModel.Item.GetBoolean("NavigationNoLoop")) ? "slider-nav-noloop" : string.Empty; string indicatorsOutsideSlider = (paragraphViewModel.Item.GetBoolean("IndicatorsOutsideSlider") && indicatorStyle != string.Empty) ? "slider-indicators-outside" : string.Empty; string indicatorsHighlightActive = (paragraphViewModel.Item.GetBoolean("IndicatorsHighlightActive")) ? "slider-indicators-highlight" : string.Empty; string indicatorsInvertColors = (paragraphViewModel.Item.GetBoolean("IndicatorsInvertedColors")) ? "slider-indicators-dark" : string.Empty; string indicatorsVisibleOnSmallDevices = (paragraphViewModel.Item.GetBoolean("IndicatorsVisibleOnSmallDevices")) ? "slider-indicators-sm" : string.Empty; string animation = paragraphViewModel.Item.GetRawValueString("Animation", string.Empty) != string.Empty ? $"slider-nav-animation {paragraphViewModel.Item.GetRawValueString("Animation")}" : string.Empty; string autoplay = (paragraphViewModel.Item.GetBoolean("Autoplay")) ? "slider-nav-autoplay" : string.Empty; string autoplayInterval = paragraphViewModel.Item.GetRawValueString("AutoplayInterval", string.Empty); bool hideSliderNavigation = false; string gridColumnSize = paragraphViewModel.Item.GetRawValueString("SliderLayout", "3"); int itemsShown = Convert.ToInt32(gridColumnSize); var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(page); if (sourceType == "selected") { string productIds = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("MainProductID")) ? Dynamicweb.Context.Current.Request.Form.Get("MainProductID") : string.Empty; productIds = string.IsNullOrEmpty(productIds) ? Dynamicweb.Context.Current.Request.Form.Get("ProductVariantId") : productIds; Model.Products = Model.Products.OrderBy(product => productIds.IndexOf(product.Id)).ToList(); } if (navigationStyle == "slider-nav-none") { hideSliderNavigation = true; } <div class="grid gap-0"> <div id="slider_@(modelId)" class="g-col-12 swiffy-slider slider-item-show@(itemsShown) @(navigationStyle) @(revealSlides) @(navigationPlacement) @(navigationAlwaysVisible) @(navigationVisibleOnTouch) @(indicatorStyle) @(navigationShowScrollbar) @(navigationSmall) @(navigationInvertColors) @(indicatorsOutsideSlider) @(navigationNoLoop) @(indicatorsHighlightActive) @(indicatorsInvertColors) @(indicatorsVisibleOnSmallDevices) @(navigationSlideEntirePage)" style="@(scrollBarForceMobile)"> <ul class="slider-container"> @foreach (ProductViewModel product in Model.Products) { string link = product.GetProductLink(GetPageIdByNavigationTag("Shop"), false); string clickProductLink = string.Empty; if (!string.IsNullOrWhiteSpace(googleTagManagerID) && allowTracking) { clickProductLink = "onclick=\"return clickProductLink('" + @product.Id + "', '" + @Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.Name) + "', '" + @Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.VariantName) + "', '" + @product.Price.CurrencyCode + "', '" + @product.Price.ToStringInvariant() + "', '" + @product.Discount.ToStringInvariant() + "')\""; } if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) { Dynamicweb.Context.Current.Items["ProductDetails"] = product; } else { Dynamicweb.Context.Current.Items.Add("ProductDetails", product); } <li class="d-flex flex-column"> <a href="@link" class="stretched-link" @clickProductLink> <span class="visually-hidden">@product.Name</span> </a> @{ @RenderGrid(itemSourcePageId) } </li> } @if (!Model.Products.Any() && Pageview.IsVisualEditorMode) { if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) { Dynamicweb.Context.Current.Items["ProductDetails"] = GetProduct(); } else { Dynamicweb.Context.Current.Items.Add("ProductDetails", GetProduct()); } for (int i = 0; i < 4; i++) { <li class="d-flex flex-column"> @{ @RenderGrid(itemSourcePageId) } </li> } } </ul> @if (!hideSliderNavigation) { <button type="button" title="@Translate("Previous slide")" class="slider-nav" style="z-index:2;"> <span class="visually-hidden">@Translate("Previous slide")</span> </button> <button type="button" title="@Translate("Next slide")" class="slider-nav slider-nav-next" style="z-index:2;"> <span class="visually-hidden">@Translate("Next slide")</span> </button> } @if (indicatorStyle != "slider-indicators-hidden") { bool isActive = true; int slideCount = 1; <div class="slider-indicators" style="z-index:2;"> @foreach (var item in Model.Products) { <button @(isActive ? "class=\"active\"" : string.Empty) type="button" title='@Translate("Go to slide") @slideCount'> <span class="visually-hidden">@Translate("Go to slide") @slideCount</span> </button> { slideCount++; } isActive = false; } </div> } </div> </div> <script type="module"> swiffyslider.initSlider(document.querySelector('#slider_@(modelId)')); </script> } } else if (Pageview.IsVisualEditorMode == true) { <div class="alert alert-dark" role="alert"> <span>@Translate("Product component slider: The slider will be rendered here, if there is anything to show")</span> </div> }
By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Statistics and Marketing