De HR 2000 is een handmatige pneumatische hogedrukspuitpistoolreiniger met dampafzuiging.
Kan worden gebruikt voor het handmatig reinigen van spuitpistolen die worden gebruikt met conventionele lakken. Het moderne ontwerp creëert eenheid in uw mengruimte. De spuitpistoolreiniger kan rechtstreeks op het dampafzuigsysteem worden aangesloten. Het enige wat nodig is, is een luchtdrukaansluiting van 5 bar. Eenvoudig en effectief. Gebruiksvriendelijke bediening.
Voordelen
- Met dampafzuiging
- Gemaakt van roestvrij staal
- Eenvoudig en gebruiksvriendelijk
Productdetails
- Merk
- Hamach
- Number
- 1000473
- EAN
- 8714247813348
Error executing template "Designs/Swift/Paragraph/Finixa_ProductFieldDisplayGroupsAccordion.cshtml" System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') at System.Collections.Generic.List`1.get_Item(Int32 index) at CompiledRazorTemplates.Dynamic.RazorEngine_79d41d911c424234bdeed69a0cf9779d.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.Ecommerce.ProductCatalog 3 @using System.Linq 4 5 @functions { 6 7 class ContentSetting 8 { 9 public FieldGroupViewModel FieldDisplayGroup { get; set; } 10 public string LayoutPath { get; set; } 11 12 public ContentSetting(FieldGroupViewModel fieldDisplayGroup, string layoutPath) 13 { 14 FieldDisplayGroup = fieldDisplayGroup; 15 LayoutPath = GetLayoutPathFormatted(layoutPath); 16 } 17 } 18 19 ProductViewModel GetProduct() 20 { 21 ProductViewModel product = null; 22 23 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 24 { 25 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 26 } 27 28 return product; 29 } 30 31 List<ContentSetting> GetContentSettings(ProductViewModel product) 32 { 33 var displayGroups = GetDisplayGroups(product); 34 string defaultLayout = Model.Item.GetRawValueString("Layout", "list"); 35 var contentSettings = displayGroups.Select(displayGroup => new ContentSetting(displayGroup, defaultLayout)).ToList(); 36 bool layoutsCustomized = Model.Item.GetBoolean("CustomizeLayouts"); 37 38 return layoutsCustomized ? GetContentSettingsCustomizedLayoutSelection(contentSettings) : contentSettings; 39 } 40 41 List<FieldGroupViewModel> GetDisplayGroups(ProductViewModel product) 42 { 43 bool hideFieldsWithZeroValue = Model.Item.GetBoolean("HideFieldsWithZeroValue"); 44 var selectedDisplayGroupSystemName = Model.Item.GetList("FieldDisplayGroups")?.GetRawValue().OfType<string>(); 45 var displayGroups = product.GetProductDisplayGroupFieldsByGroupSystemNames(selectedDisplayGroupSystemName, hideFieldsWithZeroValue); 46 47 return displayGroups.ToList(); 48 } 49 50 List<ContentSetting> GetContentSettingsCustomizedLayoutSelection(List<ContentSetting> contentSettings) 51 { 52 var selections = Model.Item.GetItems("FieldDisplayGroupLayoutSelector"); 53 54 foreach (var contentSetting in contentSettings) 55 { 56 foreach (var selection in selections) 57 { 58 string displayGroupSystemName = string.Empty; 59 string layoutPath = string.Empty; 60 61 foreach (var field in selection.Fields) 62 { 63 displayGroupSystemName = field.SystemName == "FieldDisplayGroups" ? field.GetRawValueString() : displayGroupSystemName; 64 layoutPath = field.SystemName == "Layout" ? field.GetRawValueString() : layoutPath; 65 } 66 67 if (displayGroupSystemName == contentSetting.FieldDisplayGroup.SystemName) 68 { 69 contentSetting.LayoutPath = GetLayoutPathFormatted(layoutPath); 70 } 71 } 72 } 73 74 return contentSettings; 75 } 76 77 public static string GetLayoutPathFormatted(string layout) 78 { 79 string layoutPathInCapitalCase = layout[0].ToString().ToUpper() + layout.Substring(1); 80 return $"Components/Specifications/{layoutPathInCapitalCase}.cshtml"; 81 } 82 83 } 84 85 @{ 86 var product = GetProduct(); 87 88 if (product is object) 89 { 90 var accordionContentSettings = GetContentSettings(product); 91 92 string title = Model.Item.GetString("Title"); 93 bool hideLabels = Model.Item.GetBoolean("HideFieldLabels"); 94 bool hideTitle = Model.Item.GetBoolean("HideTitle"); 95 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "display-4"); 96 var templateParams = new Dictionary<string, object> 97 { 98 {"Size", "compact" }, 99 { "HideGroupHeaders", true }, 100 { "HideTitle", true } 101 }; 102 103 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 104 string gapCss = "gap-2"; 105 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 106 contentPadding = contentPadding == "none" ? string.Empty : contentPadding; 107 contentPadding = contentPadding == "small" ? " p-2 p-md-3" : contentPadding; 108 contentPadding = contentPadding == "large" ? " p-4 p-md-5" : contentPadding; 109 110 <div class="h-100@(theme)@(contentPadding) item_@Model.Item.SystemName.ToLower()"> 111 <div class="grid @(gapCss)"> 112 @if (!hideTitle && accordionContentSettings.Any()) 113 { 114 <h2 class="g-col-12 @titleFontSize">@Model.Item.GetString("Title")</h2> 115 @* <h2 class="g-col-12 @titleFontSize">Frequent Asked Questions</h2> *@ 116 } 117 <div class="g-col-12"> 118 <div class="accordion accordion-flush w-100" id="Specifications_@Model.ID"> 119 @foreach (var contentSetting in accordionContentSettings) 120 { 121 foreach (var field in contentSetting.FieldDisplayGroup.Fields.Select((value, index) => new { value, index })) 122 { 123 if (field.index % 2 == 0) 124 { 125 var id = Guid.NewGuid().ToString(); 126 string groupHeadingId = $"SpecificationHeading_{Model.ID}_{id}"; 127 string groupItemId = $"SpecificationItem_{Model.ID}_{id}"; 128 129 <div class="accordion-item"> 130 <h2 class="accordion-header" id="@groupHeadingId"> 131 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#@groupItemId" aria-expanded="false" aria-controls="@groupItemId"> 132 @field.value.Value 133 </button> 134 </h2> 135 136 <div id="@groupItemId" class="accordion-collapse collapse" aria-labelledby="@groupHeadingId" data-bs-parent="#Specifications_@Model.ID"> 137 <div class="accordion-body"> 138 <span>@contentSetting.FieldDisplayGroup.Fields[field.index + 1].Value</span> 139 </div> 140 </div> 141 </div> 142 } 143 } 144 } 145 </div> 146 </div> 147 </div> 148 </div> 149 } 150 else 151 { 152 <div class="alert alert-warning m-0">@Translate("Product Specification will be shown here if any")</div> 153 } 154 } 155
Downloads
| Naam | Bestandstype | Taal | Bestandstype | Download |
|---|---|---|---|---|
| technical-data-sheet_000473_LANG1.pdf | TDS | English | 290 KB | |
| technical-data-sheet_000473_LANG4.pdf | TDS | Nederlands | 290 KB | |
| technical-data-sheet_000473_LANG6.pdf | TDS | Español | 253 KB | |
| technical-data-sheet_000473_LANG5.pdf | TDS | Deutsch | 291 KB | |
| technical-data-sheet_000473_LANG14.pdf | TDS | Italiano | 251 KB | |
| technical-data-sheet_000473_LANG11.pdf | TDS | Français | 254 KB | |
| technical-data-sheet_000473_LANG18.pdf | TDS | Polski | 252 KB | |
| technical-data-sheet_000473_LANG19.pdf | TDS | Portuguese | 252 KB |