Habit Neo 2 Bike x
Variant Name
Habit Neo 2 Bike x, Grey
Variant Price
£861.59
Variant Name
Habit Neo 2 Bike x, Red
Variant Price
£861.59
Electric bikes amplify your pedaling power and your ability to do and see more. They're quick and smooth, with predictable, easy-to-control power and a long-lasting removable battery that recharges at any household outlet.
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
Habit Neo 2 Bike x, Grey
£861.59
Habit Neo 2 Bike x, Red
£861.59
Moterra Neo Carbon 2 Mountain Bike, Blue
£0.00
Moterra Neo Carbon 2 Mountain Bike, Grey
£0.00
Habit Neo 2 red, Grey
£861.59
Habit Neo 2 red, Red
£861.59
Habit Neo 2 grey, Grey
£861.59
Habit Neo 2 grey, Red
£861.59
Moterra Neo Carbon 2 Mountain Bike, Blue
£0.00
Moterra Neo Carbon 2 Mountain Bike, Grey
£0.00
Moterra Neo Carbon 2 Mountain Bike, Blue
£0.00
Moterra Neo Carbon 2 Mountain Bike, Grey
£0.00
Townie Path Go! 10D EQ Step-Thru, Green
£136.78
Townie Path Go! 10D EQ Step-Thru, Grey
£136.78
Townie Path Go! 10D EQ Step-Thru grey, Green
£136.78
Townie Path Go! 10D EQ Step-Thru grey, Grey
£136.78
Townie Path Go! 10D EQ Step-Thru green , Green
£136.78
Townie Path Go! 10D EQ Step-Thru green , Grey
£136.78
1973 Many in stock.
1973 Many in stock.
1994 Many in stock.
1994 Many in stock.
1973 Many in stock.
1973 Many in stock.
1973 Many in stock.
1973 Many in stock.
996 Many in stock.
996 Many in stock.
997 Many in stock.
997 Many in stock.
567655 Many in stock.
567655 Many in stock.
Out of stock.
Out of stock.
Out of stock.
Out of stock.
1973 Many in stock.
1973 Many in stock.
1994 Many in stock.
1994 Many in stock.
1973 Many in stock.
1973 Many in stock.
1973 Many in stock.
1973 Many in stock.
996 Many in stock.
996 Many in stock.
997 Many in stock.
997 Many in stock.
567655 Many in stock.
567655 Many in stock.
Out of stock.
Out of stock.
Out of stock.
Out of stock.