Saddles
The bike saddle is one of the essential contact points between cyclist and bike. The saddle ensures support and is essential for a satisfying riding experience on your bike. Therefore it is very important to find the right bicycle saddle. The variety is endless: There are saddles for women and men, road, triathlon, trekking or mtb as well as leather saddles, models with gel padding, saddles with suspension, ergonomic saddles or unpadded or extremely light carbon saddles. But what should you look out for when choosing your saddle and what types of saddles are available?
Error executing template "Designs/Swift/Paragraph/Swift_ProductListGroupImage.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_53c3f5be3e4446229b9c9ef45f912f5b.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:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Frontend.Navigation 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 @using Dynamicweb.Environment 5 @using Dynamicweb.Frontend 6 7 @{ 8 ProductListViewModel productList = null; 9 if (Dynamicweb.Context.Current.Items.Contains("ProductList")) 10 { 11 productList = (ProductListViewModel)Dynamicweb.Context.Current.Items["ProductList"]; 12 } 13 else if (Pageview.Page.Item["DummyProductGroup"] != null && Pageview.IsVisualEditorMode) 14 { 15 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 16 ProductListViewModel groupList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 17 18 if (groupList?.Products is object) 19 { 20 productList = groupList; 21 } 22 } 23 } 24 25 @if (productList is object) { 26 string groupImage = productList?.Group?.Assets != null ? productList.Group.Assets.FirstOrDefault(x => x.Name == "LargeImage").Value : string.Empty; 27 if (groupImage.StartsWith("/") && !groupImage.StartsWith("/Files", StringComparison.OrdinalIgnoreCase)) 28 { 29 groupImage = $"/Files{groupImage}"; 30 } 31 32 string groupName = productList?.Group?.Name != null ? productList.Group.Name : string.Empty; 33 34 string ratio = Model.Item.GetRawValueString("ImageAspectRatio", string.Empty); 35 ratio = ratio != "0" ? ratio : string.Empty; 36 string ratioCssClass = ratio != string.Empty && ratio != "fill" ? " ratio" : string.Empty; 37 string ratioVariable = ratio != string.Empty ? "style=\"--bs-aspect-ratio: " + ratio + "\"" : string.Empty; 38 string fillClass = ratio == "fill" ? " h-100" : ""; 39 40 var parms = new Dictionary<string, object>(); 41 parms.Add("loading", "lazy"); 42 parms.Add("columns", Model.GridRowColumnCount); 43 44 if (ratio == "fill") { 45 parms.Add("cssClass", "w-100 h-100"); 46 } 47 else 48 { 49 parms.Add("cssClass", "mw-100 mh-100"); 50 } 51 52 parms.Add("style", string.Empty); 53 parms.Add("alt", groupName); 54 55 if (!string.IsNullOrEmpty(groupImage)) { 56 <div class="item_@Model.Item.SystemName.ToLower()"> 57 <figure class="m-0@(ratioCssClass)@(fillClass)" @ratioVariable> 58 @RenderPartial("Components/Image.cshtml", new FileViewModel { Path = groupImage }, parms) 59 </figure> 60 </div> 61 } else if (Pageview.IsVisualEditorMode) { 62 <div class="alert alert-dark m-0" role="alert"> 63 <span>@Translate("Product list group image: The image will be shown here, if any")</span> 64 </div> 65 } 66 } else if (Pageview.IsVisualEditorMode) 67 { 68 <div class="alert alert-dark m-0" role="alert"> 69 <span>@Translate("Product list group image: The image will be shown here, if any")</span> 70 </div> 71 } 72 73
Populære produkter
Bontrager Arvada Comp Saddle
Bontrager Commuter Comp Saddle
Electra Cruiser XL Saddle
Electra Vinyl Ergo Saddle
Retro Textile Saddle
Variant Name
Retro Textile Saddle, S
Variant Price
£0.00
Variant Name
Retro Textile Saddle, M
Variant Price
£0.00
Variant Name
Retro Textile Saddle, L
Variant Price
£0.00
Adventure saddle
Retro Textile Saddle
Variant Name
Retro Textile Saddle, S
Variant Price
£0.00
Variant Name
Retro Textile Saddle, M
Variant Price
£0.00
Variant Name
Retro Textile Saddle, L
Variant Price
£0.00
Retro Textile Saddle
Variant Name
Retro Textile Saddle, S
Variant Price
£0.00
Variant Name
Retro Textile Saddle, M
Variant Price
£0.00
Variant Name
Retro Textile Saddle, L
Variant Price
£0.00
Retro Textile Saddle
Variant Name
Retro Textile Saddle, S
Variant Price
£0.00
Variant Name
Retro Textile Saddle, M
Variant Price
£0.00
Variant Name
Retro Textile Saddle, L
Variant Price
£0.00
Bontrager Carbon XXX Saddle
Bontrager Arvada Comp Saddle
Bontrager Commuter Comp Saddle
998 Many in stock.
998 Many in stock.
Electra Cruiser XL Saddle
1000 Many in stock.
1000 Many in stock.
Electra Vinyl Ergo Saddle
998 Many in stock.
998 Many in stock.
Retro Textile Saddle
3000 Many in stock.
3000 Many in stock.
Adventure saddle
10 In stock
10 In stock
Retro Textile Saddle (S)
1000 Many in stock.
1000 Many in stock.
Retro Textile Saddle (M)
1000 Many in stock.
1000 Many in stock.
Retro Textile Saddle (L)
1000 Many in stock.
1000 Many in stock.
Bontrager Carbon XXX Saddle
Bontrager Arvada Comp Saddle
Bontrager Commuter Comp Saddle
998 Many in stock.
998 Many in stock.
Electra Cruiser XL Saddle
1000 Many in stock.
1000 Many in stock.
Electra Vinyl Ergo Saddle
998 Many in stock.
998 Many in stock.
Retro Textile Saddle
3000 Many in stock.
3000 Many in stock.
Adventure saddle
10 In stock
10 In stock
Retro Textile Saddle (S)
1000 Many in stock.
1000 Many in stock.
Retro Textile Saddle (M)
1000 Many in stock.
1000 Many in stock.
Retro Textile Saddle (L)
1000 Many in stock.
1000 Many in stock.