Afløbspumpe - Candy, Dihr, Multi, Olis

162
946,75 kr. InStock
1 stk. - 946,75 kr.
opvask
På lager - leveres indenfor 1-2 hverdage

Candy
  A9002
  C7810W
  TRIO SC4, 043, 503X
  

Dihr
  Electron400, Electron400-Olis, Electron400CleanWater
  Electron500, Electron500-Olis
  GS50, GS100
  Gastro400S,
  Gastro500Plus, Gastro500Plus-1081018-Olis
  Gastro500Plus-1081019-Olis, Gastro500Plus-Olis
  Gastro500S, Gastro500S-Olis
  Gastro750Plus, Gastro750Plus-Olis, Gastro750S,
  Gastro750S-Olis)
  TEKNO-4-CF, TEKNO-4-LS
  TEKNO-6, TEKNO-6-Break-Tank, TEKNO 6.0
  Tekno4
  Tekno4.1-Acqua-pulita
  Tekno6

Multi
  GS16CL
  S500CL-DIG

Olis
  OLDS50P-1081018
  OLDS50PD-1081019
  OLElectron400
  OLElectron500
  OLGastro500Plus
  OLGastro500S
  OLGastro750Plus
  OLGastro750S
 

Error executing template "Designs/Swift/Paragraph/Swift_RelatedProducts.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.<>c__DisplayClass6_0.<GetRelatedGroups>b__1(IGrouping`2 group)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at CompiledRazorTemplates.Dynamic.RazorEngine_42400afa0bb247e38aa0ba0c7ba97eae.Execute() in D:\dynamicweb.net\Solutions\smartpage\vmelektro.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_RelatedProducts.cshtml:line 173
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   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 5 @{ 6 bool productViewModelFound = false; 7 ProductViewModel product = new ProductViewModel(); 8 9 ProductViewModelSettings productSetting = new ProductViewModelSettings 10 { 11 LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID, 12 CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code, 13 CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2, 14 ShopId = Pageview.Area.EcomShopId 15 }; 16 17 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 18 { 19 productViewModelFound = true; 20 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 21 } 22 if (Pageview.IsVisualEditorMode && !productViewModelFound) 23 { 24 if (Pageview.Item["DummyProduct"] != null) 25 { 26 productViewModelFound = true; 27 string dummyProductId = ""; 28 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 29 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 30 if (productList.Products != null) 31 { 32 foreach (var p in productList.Products) { dummyProductId = p.Id; } 33 ProductViewModel dummyProduct = dummyProductId != "" ? ViewModelFactory.CreateView(productSetting, dummyProductId) : new ProductViewModel(); 34 product = dummyProduct; 35 } 36 else 37 { 38 product = ViewModelFactory.CreateView(productSetting, Dynamicweb.Ecommerce.Services.Products.GetLastActiveProducts(1, Dynamicweb.Ecommerce.Common.Context.LanguageID, false).FirstOrDefault().Id); 39 } 40 } 41 else if (Pageview.Item["DummyProduct"] == null) 42 { 43 productViewModelFound = true; 44 product = ViewModelFactory.CreateView(productSetting, Dynamicweb.Ecommerce.Services.Products.GetLastActiveProducts(1, Dynamicweb.Ecommerce.Common.Context.LanguageID, false).FirstOrDefault().Id); 45 } 46 } 47 48 string title = Model?.Item?.GetString("Title") != null ? Model.Item.GetString("Title") : Translate("Products"); 49 50 string campaignValues = Model.Item.GetRawValueString("CampaignBadges", string.Empty); 51 52 //Styling 53 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h3"); 54 string subtitleFontSize = Model.Item.GetRawValueString("SubtitleFontSize", "fs-5"); 55 string buttonStyle = Model.Item.GetRawValueString("ButtonStyle", ""); 56 buttonStyle = buttonStyle == "primary" ? " btn-primary" : buttonStyle; 57 buttonStyle = buttonStyle == "secondary" ? " btn-secondary" : buttonStyle; 58 buttonStyle = buttonStyle == "link" ? " btn-link" : buttonStyle; 59 string maxWidth = Model.Item.GetRawValueString("TextReadability", ""); 60 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 61 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 62 63 string generalTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("GeneralTheme")) ? " theme " + Model.Item.GetRawValueString("GeneralTheme").Replace(" ", "").Trim().ToLower() : ""; 64 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 65 string imageTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("ImageTheme")) ? " theme " + Model.Item.GetRawValueString("ImageTheme").Replace(" ", "").Trim().ToLower() : ""; 66 67 //Link generation 68 string pageId = Model.Item.GetLink("ProductSliderServicePage") != null ? Model.Item.GetLink("ProductSliderServicePage").PageId.ToString() : ""; 69 string servicePageByNavigationTag = GetPageIdByNavigationTag("ProductSliderService") != 0 ? GetPageIdByNavigationTag("ProductSliderService").ToString() : ""; 70 pageId = pageId == "" ? servicePageByNavigationTag : pageId; 71 72 string url = "/Default.aspx?ID=" + pageId; 73 if (!url.Contains("LayoutTemplate")) 74 { 75 url += url.Contains("?") ? "&LayoutTemplate=Designs/Swift/Swift_PageClean.cshtml" : "?LayoutTemplate=Designs/Swift/Swift_PageClean.cshtml"; 76 } 77 if (Pageview.IsVisualEditorMode) 78 { 79 url += "&VisualEdit=True"; 80 } 81 82 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Ecommerce.DynamicwebLiveIntegration.TemplatesHelper.IsLazyLoadingForProductInfoEnabled; 83 if (isLazyLoadingForProductInfoEnabled) 84 { 85 url += "&getproductinfo=true"; 86 } 87 88 //Source type 89 string sourceType = Model.Item.GetRawValueString("RelationType", "trending"); 90 IList<string> relateFromGroupIds = new List<string> { }; 91 IList<string> relateFromProductIds = new List<string> { }; 92 93 //--- VARIANTS --- 94 ProductListViewModel productsToRelateToVariants = Model.Item.GetValue<ProductListViewModel>("ProductsToRelateToVariants"); 95 if (productsToRelateToVariants != null && sourceType == "variants") 96 { 97 foreach (var productSelection in productsToRelateToVariants.Products) 98 { 99 relateFromProductIds.Add(productSelection.Id); 100 } 101 } 102 103 //--- MOST SOLD --- 104 IList<ProductGroupViewModel> groupsToRelateToMostSold = Model.Item.GetValue<IList<ProductGroupViewModel>>("GroupsToRelateToMostSold"); 105 if (groupsToRelateToMostSold != null && sourceType == "most-sold") 106 { 107 foreach (var fromGroup in groupsToRelateToMostSold) 108 { 109 relateFromGroupIds.Add(fromGroup.Id); 110 } 111 } 112 113 //--- TRENDING --- 114 IList<ProductGroupViewModel> groupsToRelateToTrending = Model.Item.GetValue<IList<ProductGroupViewModel>>("GroupsToRelateToTrending"); 115 if (groupsToRelateToTrending != null && sourceType == "trending") 116 { 117 foreach (var fromGroup in groupsToRelateToTrending) 118 { 119 relateFromGroupIds.Add(fromGroup.Id); 120 } 121 } 122 123 //--- LATEST --- 124 IList<ProductGroupViewModel> groupsToRelateToLatest = Model.Item.GetValue<IList<ProductGroupViewModel>>("GroupsToRelateToLatest"); 125 if (groupsToRelateToLatest != null && sourceType == "latest") 126 { 127 foreach (var fromGroup in groupsToRelateToLatest) 128 { 129 relateFromGroupIds.Add(fromGroup.Id); 130 } 131 } 132 133 //--- FREQUENTLY BOUGHT --- 134 ProductListViewModel productsToRelateTo = Model.Item.GetValue<ProductListViewModel>("ProductsToRelateTo"); 135 if (productsToRelateTo != null && sourceType == "frequently") 136 { 137 foreach (var fromProduct in productsToRelateTo.Products) 138 { 139 relateFromProductIds.Add(fromProduct.Id); 140 } 141 } 142 143 //--- SELECTED PRODUCTS --- 144 ProductListViewModel products = Model.Item.GetValue<ProductListViewModel>("Products"); 145 if (products != null && sourceType == "selected") 146 { 147 foreach (var productSelection in products.Products) 148 { 149 relateFromProductIds.Add(productSelection.Id); 150 } 151 } 152 153 //--- RELATED PRODUCTS --- 154 if (sourceType == "related-products") 155 { 156 ProductListViewModel selectedRelationProduct = Model.Item.GetValue<ProductListViewModel>("ProductsToRelateTo2"); 157 if (selectedRelationProduct?.Products != null) 158 { 159 if (selectedRelationProduct.Products.Count > 0) 160 { 161 int productCount = 0; 162 foreach (var selectedProduct in selectedRelationProduct.Products) 163 { 164 if (productCount == 0) 165 { 166 product = selectedProduct; 167 productCount++; 168 } 169 } 170 } 171 } 172 173 if (product?.RelatedGroups != null) 174 { 175 foreach (var group in product.RelatedGroups) 176 { 177 foreach (var relatedProduct in group.Products) 178 { 179 relateFromProductIds.Add(relatedProduct.ProductId); 180 } 181 } 182 } 183 } 184 185 //Create group id collection and products id collection strings 186 string groupIds = productViewModelFound ? product.PrimaryOrDefaultGroup.Id : string.Join(",", relateFromGroupIds); 187 string productIds = productViewModelFound && relateFromProductIds.Count == 0 ? product.Id : string.Join(",", relateFromProductIds); 188 189 //Set the parameters to the url 190 string linkParameters = ""; 191 linkParameters += sourceType != "related-products" ? "&GroupId=" + groupIds : ""; 192 linkParameters += !string.IsNullOrEmpty(productIds) ? "&MainProductId=" + productIds : ""; 193 var productListPageId = GetPageIdByNavigationTag("Shop"); 194 string link = "/Default.aspx?ID=" + productListPageId + linkParameters; 195 196 // Slider settings (documentation: swiffyslider.com/configuration) 197 string navigationStyle = $"{Model.Item.GetRawValueString("NavigationStyle", "slider-nav-round")}"; 198 string navigationPlacement = $"{Model.Item.GetRawValueString("NavigationPlacement", "slider-nav-on-slides")}"; 199 string indicatorStyle = $"{Model.Item.GetRawValueString("IndicatorStyle", "slider-indicators-hidden")}"; 200 string revealSlides = Model.Item.GetRawValueString("RevealSlides", "no-reveal") == "reveal" ? "slider-item-reveal" : string.Empty; 201 string navigationAlwaysVisible = (Model.Item.GetBoolean("NavigationAlwaysVisible")) ? "slider-nav-visible" : string.Empty; 202 string navigationVisibleOnTouch = (Model.Item.GetBoolean("NavigationVisibleOnTouch")) ? "slider-nav-touch" : string.Empty; 203 string navigationShowScrollbar = (Model.Item.GetBoolean("NavigationShowScrollbar")) ? "slider-nav-scrollbar" : string.Empty; 204 string navigationSmall = (Model.Item.GetBoolean("NavigationSmall")) ? "slider-nav-sm" : string.Empty; 205 string navigationInvertColors = (Model.Item.GetBoolean("NavigationInvertColors")) ? "slider-nav-dark" : string.Empty; 206 string navigationSlideEntirePage = (Model.Item.GetBoolean("NavigationSlideEntirePage")) ? "slider-nav-page" : string.Empty; 207 string navigationNoLoop = (Model.Item.GetBoolean("NavigationNoLoop")) ? "slider-nav-noloop" : string.Empty; 208 string indicatorsOutsideSlider = (Model.Item.GetBoolean("IndicatorsOutsideSlider") && indicatorStyle != string.Empty) ? "slider-indicators-outside" : string.Empty; 209 string indicatorsHighlightActive = (Model.Item.GetBoolean("IndicatorsHighlightActive")) ? "slider-indicators-highlight" : string.Empty; 210 string indicatorsInvertColors = (Model.Item.GetBoolean("IndicatorsInvertedColors")) ? "slider-indicators-dark" : string.Empty; 211 string indicatorsVisibleOnSmallDevices = (Model.Item.GetBoolean("IndicatorsVisibleOnSmallDevices")) ? "slider-indicators-sm" : string.Empty; 212 bool showFavoritesSelectorMasterProduct = Model.Item.GetBoolean("ShowFavoritesSelectorMasterProduct"); 213 214 bool productsFound = true; 215 if (string.IsNullOrEmpty(groupIds) && string.IsNullOrEmpty(productIds)) 216 { 217 if (Pageview.IsVisualEditorMode) 218 { 219 productIds = product.Id; 220 sourceType = "selected"; 221 } 222 else 223 { 224 productsFound = false; 225 } 226 } 227 } 228 229 @*Container element for the request*@ 230 @if (productsFound) 231 { 232 <form method="post" action="@url" id="RelatedProductsForm_@Model.ID" data-response-target-element="RelatedProducts_@Model.ID" data-preloader="inline" data-update-url="false" class="item_@Model.Item.SystemName.ToLower()"> 233 <input type="hidden" name="ModelID" value="@Model.ID"> 234 235 @*--- SLIDER SETTINGS ---*@ 236 <input type="hidden" name="NavigationStyle" value="@navigationStyle"> 237 <input type="hidden" name="NavigationPlacement" value="@navigationPlacement"> 238 <input type="hidden" name="IndicatorStyle" value="@indicatorStyle"> 239 <input type="hidden" name="RevealSlides" value="@revealSlides"> 240 <input type="hidden" name="NavigationAlwaysVisible" value="@(navigationAlwaysVisible)"> 241 <input type="hidden" name="NavigationVisibleOnTouch" value="@(navigationVisibleOnTouch)"> 242 <input type="hidden" name="NavigationShowScrollbar" value="@(navigationShowScrollbar)"> 243 <input type="hidden" name="NavigationSmall" value="@(navigationSmall)"> 244 <input type="hidden" name="NavigationInvertColors" value="@(navigationInvertColors)"> 245 <input type="hidden" name="NavigationNoLoop" value="@(navigationNoLoop)"> 246 <input type="hidden" name="NavigationSlideEntirePage" value="@(navigationSlideEntirePage)"> 247 <input type="hidden" name="IndicatorsOutsideSlider" value="@(indicatorsOutsideSlider)"> 248 <input type="hidden" name="IndicatorsHighlightActive" value="@(indicatorsHighlightActive)"> 249 <input type="hidden" name="IndicatorsInvertColors" value="@(indicatorsInvertColors)"> 250 <input type="hidden" name="IndicatorsVisibleOnSmallDevices" value="@(indicatorsVisibleOnSmallDevices)"> 251 <input type="hidden" name="ShowFavoritesSelectorMasterProduct" value="@(showFavoritesSelectorMasterProduct.ToString())"> 252 253 @*--- VARIANTS ---*@ 254 @if (sourceType == "variants") 255 { 256 <input type="hidden" name="isVariant" value="true"> 257 <input type="hidden" name="MainProductID" id="MainProductID_@Model.ID" value="@productIds"> 258 } 259 260 @*--- MOST SOLD ---*@ 261 @if (sourceType == "most-sold") 262 { 263 <input type="hidden" name="SortBy" value="OrderCount"> 264 if (groupIds != "") 265 { 266 <input type="hidden" name="GroupId" value="@groupIds"> 267 } 268 } 269 270 @*--- TRENDING ---*@ 271 @if (sourceType == "trending") 272 { 273 <input type="hidden" name="SortBy" value="OrderCountGrowth"> 274 if (groupIds != "") 275 { 276 <input type="hidden" name="GroupId" value="@groupIds"> 277 } 278 } 279 280 @*--- FREQUENTLY BOUGHT ---*@ 281 @if (sourceType == "frequently" && !string.IsNullOrEmpty(productIds)) 282 { 283 <input type="hidden" name="BoughtWithProductIds" value="[@productIds]"> 284 } 285 286 @*--- LATEST ---*@ 287 @if (sourceType == "latest") 288 { 289 <input type="hidden" name="SortBy" value="Created"> 290 <input type="hidden" name="GroupId" value="@groupIds"> 291 } 292 293 @*--- SELECTED PRODUCTS ---*@ 294 @if (sourceType == "selected") 295 { 296 <input type="hidden" name="MainProductID" id="MainProductID_@Model.ID" value="@productIds"> 297 } 298 299 @*--- RELATED PRODUCTS ---*@ 300 @if (sourceType == "related-products") 301 { 302 <input type="hidden" name="MainProductID" id="MainProductID_@Model.ID" value="@productIds"> 303 } 304 305 @* General parameters *@ 306 <input type="hidden" name="Link" value="@link"> 307 <input type="hidden" name="HideTitle" value="@Model.Item.GetString("HideTitle")"> 308 <input type="hidden" name="SortOrder" value="DESC"> 309 @if (Model.Item.GetInt32("ProductsCount") != 0) 310 { 311 <input type="hidden" name="PageSize" value="@Model.Item.GetInt32("ProductsCount")"> 312 } 313 <input type="hidden" name="HeadingTitle" id="RelatedProductsTitle_@Model.ID" value="@title"> 314 @if (!string.IsNullOrEmpty(Model.Item.GetString("Subtitle"))) 315 { 316 <input type="hidden" name="Subtitle" value="@Model.Item.GetString("Subtitle")"> 317 } 318 @if (!string.IsNullOrEmpty(Model.Item.GetString("LinkText"))) 319 { 320 <input type="hidden" name="LinkText" value="@Model.Item.GetString("LinkText")"> 321 } 322 @if (!string.IsNullOrEmpty(Model.Item.GetString("ImageAspectRatio"))) 323 { 324 string ratio = Model.Item.GetRawValueString("ImageAspectRatio", ""); 325 ratio = ratio != "0" ? ratio : ""; 326 <input type="hidden" name="ImageAspectRatio" value="@ratio"> 327 } 328 @if (!string.IsNullOrEmpty(Model.Item.GetString("Layout"))) 329 { 330 <input type="hidden" name="Layout" value="@Model.Item.GetRawValueString("Layout")"> 331 } 332 @if (titleFontSize != "") 333 { 334 <input type="hidden" name="TitleFontSize" value="@titleFontSize"> 335 } 336 @if (subtitleFontSize != "") 337 { 338 <input type="hidden" name="SubtitleFontSize" value="@subtitleFontSize"> 339 } 340 @if (buttonStyle != "") 341 { 342 <input type="hidden" name="ButtonStyle" value="@buttonStyle"> 343 } 344 @if (generalTheme != "") 345 { 346 <input type="hidden" name="GeneralTheme" value="@generalTheme"> 347 } 348 @if (theme != "") 349 { 350 <input type="hidden" name="Theme" value="@theme"> 351 } 352 @if (imageTheme != "") 353 { 354 <input type="hidden" name="ImageTheme" value="@imageTheme"> 355 } 356 @if (!string.IsNullOrEmpty(Model.Item.GetString("ContentPadding"))) 357 { 358 string contentPadding = Model.Item.GetRawValueString("ContentPadding"); 359 <input type="hidden" name="ContentPadding" value="@contentPadding"> 360 } 361 <input type="hidden" name="TextReadability" value="@maxWidth"> 362 <input type="hidden" name="ParentColumnSize" id="ParentColumnSize_@Model.ID" value="12"> 363 364 <input type="hidden" name="SaleBadgeType" value="@Model.Item.GetRawValue("SaleBadgeType")"> 365 <input type="hidden" name="SaleBadgeCssClassName" value="@Model.Item.GetRawValue("SaleBadgeDesign")"> 366 <input type="hidden" name="NewBadgeCssClassName" value="@Model.Item.GetRawValue("NewBadgeDesign")"> 367 <input type="hidden" name="NewPublicationDays" value="@Model.Item.GetInt32("NewPublicationDays")"> 368 369 @if (campaignValues != "") 370 { 371 <input type="hidden" name="CampaignBadgesValues" value="@campaignValues"> 372 } 373 </form> 374 375 <script type="module" src="~/Files/Templates/Designs/Swift/Assets/js/swiffy-slider.js"></script> 376 <script type="module"> 377 swift.AssetLoader.Load('Files/Templates/Designs/Swift/Assets/css/swiffy-slider.min.css', 'css'); 378 </script> 379 380 if (sourceType != "related-products") 381 { 382 <div class="w-100 h-100"> 383 <div id="RelatedProducts_@Model.ID" class="h-100" style="min-height: 345px"></div> 384 </div> 385 } 386 else if (product?.RelatedGroups != null) 387 { 388 @* Create multiple slider containers, if type is Product relation *@ 389 <div class="grid w-100 h-100@(generalTheme)" style="grid-row-gap: 4rem"> 390 @foreach (var group in product.RelatedGroups) 391 { 392 <div id="RelatedProducts_@(Model.ID)_@group.Id" class="g-col-12 h-100" style="min-height: 345px"></div> 393 } 394 </div> 395 } 396 397 @* Initialize *@ 398 if (sourceType != "related-products") 399 { 400 <script type="module"> 401 if (document.querySelector("#RelatedProducts_@Model.ID").closest("[data-col-size]")) { 402 document.querySelector("#ParentColumnSize_@Model.ID").value = document.querySelector("#RelatedProducts_@Model.ID").closest("[data-col-size]").getAttribute("data-col-size"); 403 } 404 swift.PageUpdater.Update(document.querySelector("#RelatedProductsForm_@Model.ID")); 405 </script> 406 } 407 else if (product?.RelatedGroups != null) 408 { 409 @* Create multiple sliders, if type is Product relation *@ 410 foreach (var group in product.RelatedGroups) 411 { 412 IList<string> fromProductIds = new List<string> { }; 413 414 foreach (var relatedProduct in group.Products) 415 { 416 fromProductIds.Add(relatedProduct.ProductId); 417 } 418 <script type="module"> 419 document.querySelector("#ParentColumnSize_@Model.ID").value = document.querySelector("#RelatedProducts_@(Model.ID)_@group.Id").closest("[data-col-size]").getAttribute("data-col-size"); 420 document.querySelector("#MainProductID_@Model.ID").value = "@string.Join(",", fromProductIds)"; 421 document.querySelector("#RelatedProductsTitle_@Model.ID").value = "@group.Name"; 422 document.querySelector("#RelatedProductsForm_@Model.ID").setAttribute("data-response-target-element", "RelatedProducts_@(Model.ID)_@group.Id"); 423 424 swift.PageUpdater.Update(document.querySelector("#RelatedProductsForm_@Model.ID")); 425 </script> 426 } 427 } 428 } 429

1-2 dages levering
på lagervarer

365 dages returret
 

Vores kunder elsker os
4,8 Trustscore

Erfaren kundeservice
85 års samlet brancheerfaring