Mongoose Ritual Street (T2)

10096

If you want baptism by air, here’s your ride. Not only does this bike clear big jumps with ease, its tough, chromoly frame feels nearly weightless when you’re off the ground! Add on 100mm of front suspension to cushion the drops and 3-piece cranks for that sweet barspin.

EUR 159,95 InStock
9860 In stock
Error executing template "Designs/Swift/Paragraph/Swift_Accordion.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_99ef8e0ce675467cb789c78e6c67d453.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> @functions { private string RenderCustomCSS(IEnumerable<string> decorations) { var cssClasses = new List<string>(); foreach (var itemId in decorations) { var item = Dynamicweb.Content.Services.Items.GetItem("Swift_Css", itemId); item.TryGetValue("Class", out object classes); if (classes is null) { continue; } var cssString = (string)classes; if (cssString.StartsWith("[")) { var cssArray = Dynamicweb.Core.Converter.Deserialize<string[]>(cssString); cssClasses.AddRange(cssArray); } else { cssClasses.Add(cssString.Replace(",", " ")); } } return string.Join(" ", cssClasses).Trim(); } } @{ string title = Model.Item.GetString("Title"); var accordionItems = Model.Item?.GetItems("Accordion_Items") ?? Enumerable.Empty<Dynamicweb.Frontend.ItemViewModel>().ToList(); string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; var decorations = Model.Item?.GetList("CssDecorations")?.GetRawValue().OfType<string>() ?? Enumerable.Empty<string>(); string css = RenderCustomCSS(decorations); string contentPadding = Model.Item.GetRawValueString("ContentPadding", "none"); contentPadding = contentPadding == "none" ? "p-0" : contentPadding; contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; } <div class="accordion @(theme) @(css) @(contentPadding) h-100 position-relative item_@Model.Item.SystemName.ToLower()" id="accordion-@Pageview.CurrentParagraph.ID"> @if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) { string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h2"); string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} mb-4\">"; string headingLevelStop = $"</{headingLevel}>"; @headingLevelStart @Model.Item.GetString("Title") @headingLevelStop } @foreach (var item in accordionItems) { <div class="accordion-item"> <h2 class="accordion-header" id="heading-@Pageview.CurrentParagraph.ID-@item.Id"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-@Pageview.CurrentParagraph.ID-@item.Id" aria-expanded="false" aria-controls="collapse-@Pageview.CurrentParagraph.ID-@item.Id"> @item.GetString("Title") </button> </h2> <div id="collapse-@Pageview.CurrentParagraph.ID-@item.Id" class="accordion-collapse collapse" aria-labelledby="heading-@Pageview.CurrentParagraph.ID-@item.Id" data-bs-parent="#accordion-@Pageview.CurrentParagraph.ID"> <div class="accordion-body mb-0-last-child opacity-75"> @item.GetRawValueString("Content") </div> </div> </div> } <div id="@Model.ID" class="user-select-none position-absolute top-0" style="scroll-margin-top:var(--header-height,150px)"></div> </div>

All specs

Brand name
Mongoose
Additional equipment
Pump Stands
Brake type
Linear-pull
Brakes
Shimano BR-M315 hydraulisk breaks
Color
Fork
Suntour XCR-RL
Frame
Synapse BallisTec Carbon
Frame size
0 in
Gear
Gear model
Shimano SLX M7100
Gear type
External Derailleur
Gender
Unisex
Material usage
Aluminum
Netto weight
0
Recommended use
Mountain bike Bicycle Classic
Suspension
Hardtail
Tires
Kenda Slant 6
Wheel
Syncros X-20
Wheel size
27,5"
Volume
0
Weight
0
Width
0
Height
0
By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Statistics and Marketing