Manitou 220TJ+





Info about the machine
- Specifications
Number
000701829
Model year
2020
Number of hours
929
Serial number
MAN00000J01028801
Weight (kg)
13600
Classification
B
Construction height (mm)
2520
Length (mm)
7350
Width (mm)
2480
Lifting capacity (kg)
350
Steering
4 wheel steering
Electric equipment
230V to the platform
Other equipment
Safe man system
Continuous rotation
Easy Manager - Trackunit
662236
Transmission
Hydrostatic - 4WD
Engine brand
Kubota
Engine type
v1505.E3B Stage3A
Engine fuel type
4 cyl. diesel
Engine (hk)
36
Engine (kW)
26
Wheel front size
385/45-28
Wheel rear size
385/45-28
Platform height (mm)
19740
Outlay (mm)
17780
Rotation chassis (degrees)
360
Rotation basket (degrees)
180
Tilt jib (degrees)
133
Platform width (mm)
2300
Platform length (mm)
900
Wheelbase (mm)
2800
Free height (mm)
440
Driving speed (km/h)
5,4
Gradeability (%)
40
Permissible leveling (degrees)
4°
Trackunit
662236
Working height (mm)
21740
Placement
Sweden
Location
Rosersberg
Error executing template "Designs/Swift/Paragraph/Custom_RelatedProducts.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. 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.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.GetFieldDisplayGroupValues(ProductViewModelSettings settings, Product product, String languageID, Lazy`1 productIds) at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.<>c__DisplayClass3_1.<BulkCreateView>b__59() at Dynamicweb.Ecommerce.ProductCatalog.ViewModelPropertyFiller`1.Fill[S](T model, String propertyName, Func`1 source) at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.BulkCreateView(ProductViewModelSettings settings, Boolean isRecursive, IList`1 products) at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.CreateView(ProductViewModelSettings settings, Product product) at CompiledRazorTemplates.Dynamic.RazorEngine_a6f01f4f58b44571895a4fb9d3243558.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> 2 @using Dynamicweb.Core 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 @using System.Linq 5 @using Dynamicweb.Environment 6 @using Application.Extensions 7 @using Scantruck.Website.Custom.ViewModels 8 9 @if (!Pageview.IsVisualEditorMode) 10 { 11 12 string lazyHeight = Model.Item?.GetBoolean("SetMinHeightForLazyLoading") == true ? "min-height: 360px" : ""; 13 string theme = !string.IsNullOrWhiteSpace(Model.Item?.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 14 int paragraphId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("ParagraphId")) ? Convert.ToInt32(Dynamicweb.Context.Current.Request.Form.Get("ParagraphId")) : 0; 15 16 //Link generation 17 string pageId = Model.Item?.GetLink("ProductSliderServicePage")?.PageId.ToString() ?? ""; 18 string servicePageByNavigationTag = GetPageIdByNavigationTag("RelatedProductSliderService") != 0 ? GetPageIdByNavigationTag("RelatedProductSliderService").ToString() : ""; 19 pageId = string.IsNullOrEmpty(pageId) ? servicePageByNavigationTag : pageId; 20 string HrefTarget = Model.Item?.GetBoolean("OpenNewWindow") == true ? "_blank" : ""; 21 22 bool productViewModelFound = false; 23 ProductViewModel product = new ProductViewModel(); 24 25 ProductViewModelSettings productSetting = new ProductViewModelSettings 26 { 27 LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID, 28 CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code, 29 CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2, 30 ShopId = Pageview.Area.EcomShopId 31 }; 32 33 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 34 { 35 productViewModelFound = true; 36 product = Dynamicweb.Context.Current.Items["ProductDetails"] as ProductViewModel; 37 } 38 39 string title = Model?.Item?.GetRawValueString("Title", Translate("Products")); 40 41 if (product?.RelatedGroups?.Count > 0) 42 { 43 <div class="custom-related-products"> 44 @if (!string.IsNullOrWhiteSpace(title)) 45 { 46 <h2 class="custom-related-products__title">@title</h2> 47 } 48 @if (product.RelatedGroups.Count > 1) 49 { 50 <ul class="custom-related-products__menu tabs tabs--related"> 51 <li id="related-tabs-toggle" class="tabs__tab__toggle"> 52 <span class="tab-toggle__text"></span> 53 <svg class="tabs__tab__toggle__icon" :class="{ 'tabs__tab__toggle__icon--active': isToggleActive }" xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8"> 54 <path d="M13.6641 2.56489L7.18487 8L6.79492 8L0.33073 2.56489L1.74055 1.42186e-07L7.00489 4.30534L12.2542 1.6812e-08L13.6641 2.56489Z" /> 55 </svg> 56 </li> 57 <li> 58 <ul class="tabs__dropdown custom-related-products__menu__button-container"> 59 @{ 60 int buttonCount = 0; 61 } 62 @foreach (var relatedGroup in product.RelatedGroups.OrderBy(x => x.Id)) 63 { 64 <li id="button-@relatedGroup.Id.ToLower()" data-swiper-target="#swiper-@relatedGroup.Id.ToLower()" class="tabs__tab @(buttonCount == 0 ? "tabs__tab--active" : "") custom-related-products__menu__button-container__button @(buttonCount == 0 ? "custom-related-products__menu__button-container__button--active" : "")">@relatedGroup.Name</li> 65 66 buttonCount++; 67 } 68 </ul> 69 </li> 70 </ul> 71 } 72 <div class="custom-product-slider" id="related-product-sliders"> 73 @{ 74 int groupCount = 0; 75 } 76 77 @foreach (var relatedGroup in product.RelatedGroups.OrderBy(x => x.Id)) 78 { 79 <div id="swiper-@relatedGroup.Id.ToLower()" class="swiper swiper-@relatedGroup.Id.ToLower() swiper-container @(groupCount > 0 ? "collapse" : "collapse show")"> 80 <div class="swiper-controls-container container-xl"> 81 <div class="swiper-pagination swiper-pagination-@relatedGroup.Id.ToLower() swiper-controls-container__custom-slider"></div> 82 <div class="swiper-controls-container__button-container"> 83 <div class="swiper-button-next swiper-button-@relatedGroup.Id.ToLower()-next button-box "> 84 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 85 <path d="M6.11959e-07 9L12.17 9L6.58 14.59L8 16L16 8L8 -6.99382e-07L6.59 1.41L12.17 7L7.86805e-07 7L6.11959e-07 9Z" fill="black" /> 86 </svg> 87 </div> 88 <div class="swiper-button-prev swiper-button-@relatedGroup.Id.ToLower()-prev button-box "> 89 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 90 <path d="M16 7H3.83L9.42 1.41L8 0L0 8L8 16L9.41 14.59L3.83 9H16V7Z" fill="black" /> 91 </svg> 92 </div> 93 </div> 94 </div> 95 <div class="swiper-wrapper"> 96 @foreach (var relatedProduct in relatedGroup.Products.Take(10)) 97 { 98 var productInfo = ViewModelFactory.CreateView(productSetting, relatedProduct.ProductId) as CustomProductViewModel; 99 if (productInfo == null) continue; 100101 var imagePath = productInfo.HasImages ? productInfo.DefaultImage.Value : productInfo.GetCustomDefaultImage(Pageview.AreaID); 102103 // Cache product fields 104 var productFields = productInfo.ProductFields; 105106 // Extract CustomProductType 107 int customProductType = 0; 108 if (productFields.TryGetValue("CustomProductType", out var typeField) 109 && typeField is Dynamicweb.Ecommerce.ProductCatalog.FieldValueViewModel typeValue 110 && typeValue.Value is List<Dynamicweb.Ecommerce.ProductCatalog.FieldOptionValueViewModel> typeList 111 && typeList.Any()) 112 { 113 customProductType = Convert.ToInt32(typeList.First().Value); 114 } 115116 // Extract CustomProductCondition 117 int customProductCondition = 0; 118 if (productFields.TryGetValue("CustomProductCondition", out var conditionField) 119 && conditionField is Dynamicweb.Ecommerce.ProductCatalog.FieldValueViewModel conditionValue 120 && conditionValue.Value is List<Dynamicweb.Ecommerce.ProductCatalog.FieldOptionValueViewModel> condList 121 && condList.Any()) 122 { 123 customProductCondition = Convert.ToInt32(condList.First().Value); 124 } 125126127 // Determine classification and premium status 128 bool hasClassification = false, isPremium = false; 129 string classification = ""; 130131 if (productInfo.ProductCategories?.TryGetValue("specifications_bc", out var categoryFields) == true && categoryFields.Fields != null) 132 { 133 var bcFields = categoryFields.Fields; 134 classification = bcFields.TryGetValue("M_0010500", out var classField) && classField?.Value != null ? classField.Value.ToString() : ""; 135 hasClassification = !string.IsNullOrWhiteSpace(classification); 136137 isPremium = bcFields.TryGetValue("M_0090530", out var premiumField) && bool.TryParse(premiumField?.Value?.ToString(), out var premium) && premium; 138 } 139140 if (Pageview.AreaID == 6) hasClassification = false; 141142 // Navigation Tag and Spec Fallback 143 string navigationTag = "ShopNewMachines"; 144 string specFallbackGroup = "AllSpecs"; 145146 if (customProductType != 2) // 2 == maskiner 147 { 148 navigationTag = customProductCondition == 2 ? "ShopNewEquipment" : "ShopOldEquipment"; 149 } 150 else 151 { 152 navigationTag = customProductCondition == 2 ? "ShopNewMachines" : "ShopUsedMachines"; 153 specFallbackGroup = customProductCondition == 2 ? "NewMachinesDefaultListSpecs" : "UsedMachinesDefaultListSpecs"; 154 } 155156 var link = productInfo.GetProductLink(GetPageIdByNavigationTag(navigationTag), false); 157158 @if (!string.IsNullOrWhiteSpace(productInfo.PrimaryOrDefaultGroup?.Id)) 159 { 160 <div class="swiper-slide custom-product-slider__item"> 161 <div class="custom-product-slider__item-iner"> 162 <a href="@link" class="custom-product-slider__item-name"> 163 @productInfo.Name 164 @if (hasClassification) 165 { 166 <span class="classification-badge classification-badge--@classification.Replace("+", "_plus")"></span> 167 } 168 </a> 169170 <a href="@link" class="custom-product-slider__item-media"> 171 <picture> 172 <img src="@imagePath" alt="@productInfo.Name"> 173 </picture> 174 <div class="custom-product-slider__item-media-overlay"></div> 175 <div class="custom-product-slider__item-tags"> 176 <div class="custom-product-slider__item-link"> 177 <span class="text">@Translate("Se produkt")</span> 178 <span class="icon"> 179 <svg viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 180 <path d="M0.9875 11.6029L15.5915 11.6029L8.8835 18.3109L10.5875 20.0029L20.1875 10.4029L10.5875 0.802928L8.8955 2.49493L15.5915 9.20293L0.9875 9.20293L0.9875 11.6029Z" fill="currentColor" /> 181 </svg> 182 </span> 183 </div> 184 </div> 185186 @if (isPremium) 187 { 188 <div class="product-badge product-badge--premium">@Translate("ProductBadge:Premium")</div> 189 } 190 </a> 191192 @if (productInfo.Price?.Price > 0) 193 { 194 <div class="custom-product-slider__item-price"> 195 <span class="custom-product-slider__item-price-text">@Translate("excl. VAT")</span> 196 <span class="custom-product-slider__item-price-value"> 197 @productInfo.Price.PriceWithoutVat.ToString("N2") @productInfo.Price.CurrencyCode 198 </span> 199 </div> 200 } 201202 @{ 203 var productGroup = productInfo.Groups?.FirstOrDefault(); 204 var specGroup = productGroup != null ? productInfo.FieldDisplayGroups?.Values?.FirstOrDefault(group => group.Id.Contains(productGroup.Id)) : null; 205 var defaultGroup = productInfo.FieldDisplayGroups?.Values?.FirstOrDefault(group => group.Id == specFallbackGroup); 206 var groupToUse = specGroup != null && specGroup.Fields.Count > 0 ? specGroup : defaultGroup; 207 } 208209 @if (groupToUse != null && groupToUse.Fields.Count > 0) 210 { 211 <div class="custom-product-slider__item-specs"> 212 @foreach (var fieldViewModel in groupToUse.Fields.Take(5)) 213 { 214 var field = fieldViewModel.Value; 215 var value = field.Value?.ToString(); 216 if (!string.IsNullOrWhiteSpace(value) && value != "0") 217 { 218 value = value == "False" ? Translate("No") : value == "True" ? Translate("Yes") : value; 219220 <div class="custom-product-slider__item-specs-line"> 221 <span class="name">@Translate(field.SystemName == "ProductNumber" ? "Product Number" : field.Name)</span> 222 <span class="value"> 223 @(field.Type == "Double" ? StringFormatExtensions.FormatDecimal(value, Pageview.Area.CultureInfo.ToString()) : value) 224 </span> 225 </div> 226 } 227 } 228 </div> 229 } 230 </div> 231 </div> 232 } 233 } 234 </div> 235 </div> 236237 <script type="module"> 238 const swiper = new Swiper('.swiper-@relatedGroup.Id.ToLower()', { 239 slidesPerView: 'auto', 240 spaceBetween: 20, 241 speed: 600, 242 navigation: { 243 nextEl: '.swiper-button-@relatedGroup.Id.ToLower()-next', 244 prevEl: '.swiper-button-@relatedGroup.Id.ToLower()-prev' 245 }, 246 pagination: { 247 el: '.swiper-pagination-@relatedGroup.Id.ToLower()', 248 type: 'progressbar' 249 } 250 }) 251 </script> 252253 groupCount++; 254 } 255 </div> 256 </div> 257258 <script> 259 document.querySelectorAll('.custom-related-products__menu__button-container__button').forEach(button => { 260 button.addEventListener('click', event => { 261 document.querySelector('.custom-related-products__menu__button-container__button--active').classList.remove('custom-related-products__menu__button-container__button--active'); 262 button.classList.add('custom-related-products__menu__button-container__button--active'); 263264 document.querySelector('.swiper.show').classList.remove('show'); 265 document.querySelector(button.getAttribute('data-swiper-target')).classList.add('show'); 266 }) 267 }); 268 </script> 269270 <script> 271 const relatedTabLinks = document.querySelectorAll('.custom-related-products__menu .tabs__tab'); 272 const relatedTabToggle = document.getElementById('related-tabs-toggle'); 273 const relatedDropdown = document.querySelector('.custom-related-products__menu .tabs__dropdown'); 274 const relatedIcon = document.querySelector('.custom-related-products__menu .tabs__tab__toggle__icon'); 275276 function toggleRelatedDropdown() { 277 relatedDropdown.classList.toggle('tabs__dropdown--active'); 278 relatedTabToggle.classList.toggle('tabs__tab__toggle--active'); 279 relatedIcon.classList.toggle('tabs__tab__toggle__icon--active'); 280 } 281282 relatedTabLinks.forEach(link => { 283 link.addEventListener('click', function (e) { 284 const activeTab = document.querySelector('.custom-related-products__menu .tabs__tab--active'); 285 activeTab.classList.remove('tabs__tab--active'); 286 this.classList.add('tabs__tab--active'); 287288 relatedTabToggle.querySelector('.tab-toggle__text').textContent = this.textContent; 289 toggleRelatedDropdown(); 290 }); 291 }); 292293 relatedTabToggle.addEventListener('click', function () { 294 toggleRelatedDropdown(); 295 }); 296297 relatedTabToggle.querySelector('.tab-toggle__text').textContent = document.querySelector('.custom-related-products__menu .tabs__tab--active').textContent; 298 </script> 299300 } 301 } 302 else 303 { 304 <div class="alert alert-dark m-0">@Translate("No products available")</div> 305 } 306