Error compiling template "Designs/Tapas/eCom/Product/product.cshtml"
Line 1407: The name 'RenderReplacementProducts' does not exist in the current context
Line 1654: The name 'RenderQuantityPrices' does not exist in the current context
Line 3158: The name 'renderProduct' does not exist in the current context

1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // This code was generated by a tool. 4 // Runtime Version:4.0.30319.42000 5 // 6 // Changes to this file may cause incorrect behavior and will be lost if 7 // the code is regenerated. 8 // </auto-generated> 9 //------------------------------------------------------------------------------ 10 11 namespace CompiledRazorTemplates.Dynamic { 12 13 #line 3 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 14 using System; 15 16 #line default 17 #line hidden 18 19 #line 7 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 20 using System.Collections.Generic; 21 22 #line default 23 #line hidden 24 25 #line 6 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 26 using System.Linq; 27 28 #line default 29 #line hidden 30 31 #line 2 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 32 using Dynamicweb.Rendering; 33 34 #line default 35 #line hidden 36 37 #line 4 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 38 using System.Web; 39 40 #line default 41 #line hidden 42 43 #line 5 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 44 using System.Web.Script.Serialization; 45 46 #line default 47 #line hidden 48 49 #line 8 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 50 using Dynamicweb.Environment; 51 52 #line default 53 #line hidden 54 55 56 public class RazorEngine_33fbf78bb75c4e75be536181dbc930e9 : RazorTemplateBase<RazorTemplateModel<Template>> { 57 58 #line hidden 59 60 public RazorEngine_33fbf78bb75c4e75be536181dbc930e9() { 61 } 62 63 public override void Execute() { 64 WriteLiteral("\r\n\r\n[Include file \'../Productlist/includes/renderProduct.cshtml\' not found in \'Te" + 65 "mplates/Designs/Tapas/eCom/Product/product.cshtml\']\r\n\r\n"); 66 67 68 #line 13 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 69 70 string configForceStock = GetString("Firstweb:ErpStockInfo.Configuration(ForceStock)"); 71 string configForcePrice = GetString("Firstweb:ErpPriceInfo.Configuration(ForcePrice)"); 72 string configForceQuantityPrices = GetString("Firstweb:ErpPriceInfo.Configuration(ForceQuantityPrices)"); 73 string configPreparePricesAndStocksOnRelatedProducts = GetString("Firstweb:ErpPriceInfo.Configuration(PreparePricesAndStocksOnRelatedProducts)"); 74 75 string productID = GetString("Ecom:Product.ID"); 76 string productNumber = GetString("Ecom:Product.Number"); 77 78 string languageId = GetString("Ecom:Product.LanguageID"); 79 string variantId = GetString("Ecom:Product.VariantID"); 80 81 string mainProductID = GetString("Ecom:Product:Field.FirstwebMainProductID"); 82 83 string productName = GetString("Ecom:Product.Name"); 84 string productDescription = GetString("Ecom:Product.LongDescription"); 85 86 //Fallback til engelsk beskrivelse fjernet 87 //if (String.IsNullOrEmpty(productDescription)) 88 //{ 89 // productDescription = GetString("Ecom:Product:Field.Supplier_ProductDescription_EN"); 90 //} 91 92 string productShortDescription = GetString("Ecom:Product.ShortDescription"); 93 94 double nettoPrice = GetDouble("Ecom:Product.Price.PriceWithoutVAT"); //GetString("Firstweb:ErpPriceInfo.NettoPriceFormatted"); 95 string bruttoPrice = GetString("Firstweb:EcomProduct:BruttoPriceFormattedWithSymbol"); 96 97 double bruttoPriceDouble = GetDouble("Firstweb:EcomProduct:BruttoPrice"); 98 double deltaBruttoNetto = Math.Abs(bruttoPriceDouble - nettoPrice); 99 if (GetBoolean("Firstweb:EcomProduct:BruttoPriceIsConverted") && deltaBruttoNetto < 0.5) 100 { 101 bruttoPrice = GetString("Ecom:Product.Price.PriceWithoutVATFormatted"); 102 } 103 104 105 bool hasQuantityPrices = GetBoolean("Firstweb:ErpPriceInfo.HasQuantityPrices"); 106 107 string availableAmount = GetString("Firstweb:ErpStockInfo.StockQuantity"); 108 string stockColor = GetString("Firstweb:ErpStockInfo.StockColor"); 109 string productCurrency = GetString("Ecom:Product.Currency.Symbol"); 110 111 int productPackagingQuantity = GetInteger("Ecom:Product:Field.NAVMinQuantity"); 112 int defaultQuantity = productPackagingQuantity > 0 ? productPackagingQuantity : 1; //udskrives i salgskvanti og antals felt ved læg i kurv 113 114 int productInFavoritLists = GetInteger("Firstweb:Ecom:Product:OrderTemplate.InTemplates.Count"); 115 string inFavouriteBoolJS = productInFavoritLists > 0 ? "true" : "false"; 116 bool hasVariants = (GetLoop("VariantCombinations").Count() > 0); 117 118 string Collisize = GetString("Ecom:Product:Field.NAVColli"); //Antal i kolli 119 120 bool IsPurchaceProduct = (GetString("Ecom:Product:Field.NAVPurposeID") == "SKAFFE"); 121 122 bool HidePrices = Firstweb.Custom.CustomCode.Frontend.Helpers.Product.HidePrices(); 123 124 string currentPageId = Dynamicweb.Context.Current.Request.GetString("ID"); 125 126 //Images 127 List<Dynamicweb.Ecommerce.Products.Detail> productImages = Firstweb.Custom.CustomCode.Frontend.Helpers.ProductImages.GetProductImages(languageId, productID, variantId); 128 Dynamicweb.Ecommerce.Products.Detail primaryProductImage = productImages.FirstOrDefault(x => x.IsDefault); //Tag you can use instead: product.GetString("Ecom:Product.ImageDefault.Clean"); 129 130 //check for valid default image 131 if (primaryProductImage == null) 132 { 133 primaryProductImage = new Dynamicweb.Ecommerce.Products.Detail { Value = "" }; 134 } 135 else if (primaryProductImage.Value == null) 136 { 137 primaryProductImage.Value = ""; 138 } 139 140 141 string primaryProductImageUrl = "/admin/public/getimage.ashx?image=" + primaryProductImage.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=1200&Compression=99&Crop=5"; 142 if (String.IsNullOrEmpty(primaryProductImage.Value)) 143 { 144 primaryProductImageUrl = "/admin/public/getimage.ashx?image=/Files/Images/ecom/Products/no-image.jpg&width=1200&Compression=99&Crop=5"; 145 } 146 147 //Other packagings 148 var otherPackagingProducts = Firstweb.Custom.CustomCode.Frontend.Helpers.OtherPackagingProducts.GetOtherPackagingProducts(mainProductID).Where(i => i.Id != productID); 149 var showOtherPackagingProducts = otherPackagingProducts.Count() > 0; 150 151 //Documents 152 var productDocuments = Firstweb.Custom.CustomCode.Frontend.Helpers.ProductDocuments.Instance(productNumber, mainProductID).GetDocuments(); 153 154 //Related products 155 var productRelatedGroups = GetLoop("ProductRelatedGroups").Where(g => g.GetString("Ecom:Product:RelatedGroup.GroupID") != "RELGRP12"); 156 bool showRelatedProducts = productRelatedGroups.Any(); 157 158 //Related articles 159 var relatedArticles = Firstweb.Custom.CustomCode.Frontend.Helpers.Articles.GetRelatedArticles(productID); 160 161 bool showRelatedArticles = relatedArticles.Count > 0; 162 163 164 var breadCrumbGroupList = Firstweb.Custom.CustomCode.Frontend.Helpers.EcomGroups.getBreadCrumbGroupListByProduct(productID, true); 165 166 string BrandLogo = "/admin/public/getimage.ashx?image=" + GetString("Ecom:Product:Field.FirstwebBrandLogo.Value.FullPath") + "&height=40&crop=5"; 167 string BrandName = GetString("Ecom:Product:Field.FirstwebBrand.Label"); 168 169 string ByggebasenNumber = GetString("Ecom:Product:Field.FirstwebBBN.Value.Clean"); 170 string EAN = GetString("Ecom:Product:Field.FirstwebEAN.Value.Clean"); 171 string RRP = GetString("Firstweb:ErpPriceInfo:Prices.RRPFormatted"); 172 173 string priceWithoutVAT = GetString("Ecom:Product.Price.PriceWithoutVATFormatted"); 174 175 string productCatalog_PageId = Firstweb.Custom.CustomCode.Tapas.Context.AreaPages.GetPageId("productcatalog"); 176 177 string CatalogueRemark = GetString("Ecom:Product:Field.NAVCatalogRemark.Value"); 178 179 bool ShowShopFunctions = Firstweb.Custom.CustomCode.Tapas.Context.Current.ShopFunctionsVisibility.ShowShopFunctions(); 180 181 var QuantityPrices = GetLoop("Firstweb:ErpPriceInfo:QuantityPrices"); 182 183 string YtVideoId = GetString("Ecom:Product:Field.FirstwebVideoID.Value"); 184 string YtVideoPreviewImage = $"https://img.youtube.com/vi/{YtVideoId}/0.jpg"; 185 186 bool isBlocked = GetBoolean("Ecom:Product:Field.NAVIsBlocked"); 187 IEnumerable<Dynamicweb.Ecommerce.Products.ProductRelated> replacementProducts = Firstweb.Custom.CustomCode.Frontend.Helpers.Product.GetReplacementProducts(productID); 188 189 string DocumentLink_UserManual = GetString("Ecom:Product:Field.FirstwebUserManual.Value.Clean"); 190 string DocumentLink_DataSheet = GetString("Ecom:Product:Field.FirstwebDataSheet.Value.Clean"); 191 string DocumentLink_LockCertificate = GetString("Ecom:Product:Field.FirstwebLockCertificate.Value.Clean"); 192 string DocumentLink_BikelightTest = GetString("Ecom:Product:Field.FirstwebBikelightTest.Value.Clean"); 193 string DocumentLink_Catalog = GetString("Ecom:Product:Field.FirstwebCatalog.Value.Clean"); 194 195 string DocumentLink_ExtraProductDocument1 = GetString("Ecom:Product:Field.FirstwebExtraProductDocument1_File.Value.Clean"); 196 string DocumentLink_ExtraProductDocument2 = GetString("Ecom:Product:Field.FirstwebExtraProductDocument2_File.Value.Clean"); 197 198 bool ShowDownload = (!String.IsNullOrEmpty(DocumentLink_UserManual) || !String.IsNullOrEmpty(DocumentLink_DataSheet) || !String.IsNullOrEmpty(DocumentLink_LockCertificate) || !String.IsNullOrEmpty(DocumentLink_BikelightTest) || !String.IsNullOrEmpty(DocumentLink_Catalog) || !String.IsNullOrEmpty(DocumentLink_ExtraProductDocument1)|| !String.IsNullOrEmpty(DocumentLink_ExtraProductDocument2)); 199 200 int IndicatorCounter = 0; 201 string FindDealerPage = string.Format("/Default.aspx?id={0}", Firstweb.Custom.CustomCode.Tapas.Context.AreaPages.GetPageId("FindDealer")); 202 DateTime BackInStock = GetDate("Firstweb:ErpStockInfo.DeliveryDate"); 203 bool ShowBeforePrice = GetBoolean("Firstweb:EcomProduct:DisplayBeforePrice"); 204 string BeforePriceFormatted = GetString("Firstweb:EcomProduct:BeforePriceFormattedWithSymbol"); 205 string StockStatus = GetString("Firstweb:StockStatusColor"); //hvis rød og confirmed deliverydate - hvis dato 206 string StockLabel = GetString("Firstweb:StockStatusTitle"); 207 string ConfirmedDeliveryDate = GetString("Ecom:Product:Field.NAVConfirmedDeliveryDate.Value"); 208 bool NotInStock = GetBoolean("Firstweb:NotInStock"); 209 bool ShowQuantityPrices = GetBoolean("Firstweb:EcomProduct:ShowQuantityPricelistIcon"); 210 211 var ProductSpecificationsDisplayGroup = GetLoop("FieldDisplayGroups").FirstOrDefault(fdg => fdg.GetString("Ecom:FieldDisplayGroup.SystemName") == "ProductSpecifications"); 212 213 214 int backorderRemaining = 0; 215 bool inBackorders = Firstweb.Custom.CustomCode.Frontend.Helpers.Backordre.InBackorders(productNumber, out backorderRemaining); 216 string addToCartWarningText = inBackorders ? Translate("Cart.RestorderFirstPart", "Du har allerede") + " " + backorderRemaining + " " + Translate("Cart.RestorderSecondPart", "i restorder af denne.") : ""; 217 string addToCartWarningTextConfirmation = inBackorders ? addToCartWarningText + " - " + Translate("Cart.RestorderConfirm", "Vil du forsætte?") : ""; 218 219 bool HasUSP_DA = !String.IsNullOrEmpty(GetString("Ecom:Product:Field.USP1.Value.Clean")); 220 //Fallback til engelsk USP fjernet 221 //bool HasUSP_EN = !String.IsNullOrEmpty(GetString("Ecom:Product:Field.Supplier_USP1_EN.Value.Clean")); 222 bool HasUSP_EN = false; 223 224 225 #line default 226 #line hidden 227 WriteLiteral("\r\n\r\n\r\n<div"); 228 229 WriteLiteral(" class=\"container product-details\""); 230 231 WriteLiteral(">\r\n <div"); 232 233 WriteLiteral(" id=\"blueimp-gallery\""); 234 235 WriteLiteral(" class=\"blueimp-gallery blueimp-gallery-controls\""); 236 237 WriteLiteral(" data-filter=\".gallery-image\""); 238 239 WriteLiteral(">\r\n <div"); 240 241 WriteLiteral(" class=\"slides\""); 242 243 WriteLiteral("></div>\r\n <a"); 244 245 WriteLiteral(" class=\"prev\""); 246 247 WriteLiteral(">‹</a>\r\n <a"); 248 249 WriteLiteral(" class=\"next\""); 250 251 WriteLiteral(">›</a>\r\n <a"); 252 253 WriteLiteral(" class=\"close\""); 254 255 WriteLiteral(">×</a>\r\n </div>\r\n\r\n <!--breadcrumbs -->\r\n <ol"); 256 257 WriteLiteral(" class=\"breadcrumb xs-m-b-1 xs-m-t-3\""); 258 259 WriteLiteral(">\r\n <li"); 260 261 WriteLiteral(" class=\"position-relative\""); 262 263 WriteLiteral(">\r\n <a"); 264 265 WriteLiteral(" href=\"\""); 266 267 WriteAttribute("title", Tuple.Create(" title=\"", 10224), Tuple.Create("\"", 10295) 268 269 #line 181 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 270 , Tuple.Create(Tuple.Create("", 10232), Tuple.Create<System.Object, System.Int32>(Translate("Firstweb.Content.Breadcrumbs.FrontPage", "Forside") 271 272 #line default 273 #line hidden 274 , 10232), false) 275 ); 276 277 WriteLiteral(">"); 278 279 280 #line 181 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 281 Write(Translate("Firstweb.Content.Breadcrumbs.FrontPage", "Forside")); 282 283 284 #line default 285 #line hidden 286 WriteLiteral("</a>\r\n </li>\r\n\r\n\r\n\r\n"); 287 288 289 #line 186 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 290 291 292 #line default 293 #line hidden 294 295 #line 186 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 296 foreach (var link in breadCrumbGroupList) 297 { 298 string activeBreadcrumbCss = breadCrumbGroupList.Last() == link ? "active-breadcrumb" : ""; 299 300 301 #line default 302 #line hidden 303 WriteLiteral(" <li"); 304 305 WriteAttribute("class", Tuple.Create(" class=\"", 10570), Tuple.Create("\"", 10616) 306 , Tuple.Create(Tuple.Create("", 10578), Tuple.Create("position-relative", 10578), true) 307 308 #line 189 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 309 , Tuple.Create(Tuple.Create(" ", 10595), Tuple.Create<System.Object, System.Int32>(activeBreadcrumbCss 310 311 #line default 312 #line hidden 313 , 10596), false) 314 ); 315 316 WriteLiteral(">\r\n"); 317 318 319 #line 190 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 320 321 322 #line default 323 #line hidden 324 325 #line 190 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 326 if (link == breadCrumbGroupList.FirstOrDefault()) 327 { 328 329 330 #line default 331 #line hidden 332 WriteLiteral(" <span"); 333 334 WriteAttribute("title", Tuple.Create(" title=\"", 10732), Tuple.Create("\"", 10750) 335 336 #line 192 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 337 , Tuple.Create(Tuple.Create("", 10740), Tuple.Create<System.Object, System.Int32>(link.Name 338 339 #line default 340 #line hidden 341 , 10740), false) 342 ); 343 344 WriteLiteral(">"); 345 346 347 #line 192 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 348 Write(link.Name); 349 350 351 #line default 352 #line hidden 353 WriteLiteral("</span>\r\n"); 354 355 356 #line 193 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 357 } 358 else 359 { 360 361 362 #line default 363 #line hidden 364 WriteLiteral(" <a"); 365 366 WriteAttribute("href", Tuple.Create(" href=\"", 10853), Tuple.Create("\"", 10932) 367 , Tuple.Create(Tuple.Create("", 10860), Tuple.Create("/Default.aspx?ID=", 10860), true) 368 369 #line 196 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 370 , Tuple.Create(Tuple.Create("", 10877), Tuple.Create<System.Object, System.Int32>(GetString("Ecom:Product:Page.ID") 371 372 #line default 373 #line hidden 374 , 10877), false) 375 , Tuple.Create(Tuple.Create("", 10911), Tuple.Create("&amp;GroupID=", 10911), true) 376 377 #line 196 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 378 , Tuple.Create(Tuple.Create("", 10924), Tuple.Create<System.Object, System.Int32>(link.Id 379 380 #line default 381 #line hidden 382 , 10924), false) 383 ); 384 385 WriteAttribute("title", Tuple.Create(" title=\"", 10933), Tuple.Create("\"", 10951) 386 387 #line 196 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 388 , Tuple.Create(Tuple.Create("", 10941), Tuple.Create<System.Object, System.Int32>(link.Name 389 390 #line default 391 #line hidden 392 , 10941), false) 393 ); 394 395 WriteLiteral(">"); 396 397 398 #line 196 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 399 Write(link.Name); 400 401 402 #line default 403 #line hidden 404 WriteLiteral("</a>\r\n"); 405 406 407 #line 197 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 408 } 409 410 411 #line default 412 #line hidden 413 WriteLiteral(" </li>\r\n"); 414 415 416 #line 199 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 417 } 418 419 420 #line default 421 #line hidden 422 WriteLiteral("\r\n </ol>\r\n <!--breadcrumbs-->\r\n\r\n <main"); 423 424 WriteLiteral(" class=\"xs-p-b-3 xs-m-t-2\""); 425 426 WriteLiteral(" data-bind=\"viewModel: \'ProductPageViewModel\'\""); 427 428 WriteLiteral(">\r\n <!-- ko initValue: {observable: Quantity, value:\'"); 429 430 431 #line 205 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 432 Write(defaultQuantity); 433 434 435 #line default 436 #line hidden 437 WriteLiteral("\'}--><!-- /ko-->\r\n \r\n <div"); 438 439 WriteLiteral(" class=\"row row-ce\""); 440 441 WriteLiteral(">\r\n <section"); 442 443 WriteLiteral(" class=\"col-xs-12 col-md-6\""); 444 445 WriteLiteral(">\r\n"); 446 447 448 #line 209 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 449 450 451 #line default 452 #line hidden 453 454 #line 209 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 455 if (!String.IsNullOrEmpty(GetString("Ecom:Product:Field.FirstwebBrandLogo.Value.FullPath"))) 456 { 457 458 459 #line default 460 #line hidden 461 WriteLiteral(" <img"); 462 463 WriteAttribute("src", Tuple.Create(" src=\"", 11480), Tuple.Create("\"", 11496) 464 465 #line 211 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 466 , Tuple.Create(Tuple.Create("", 11486), Tuple.Create<System.Object, System.Int32>(BrandLogo 467 468 #line default 469 #line hidden 470 , 11486), false) 471 ); 472 473 WriteAttribute("alt", Tuple.Create(" alt=\"", 11497), Tuple.Create("\"", 11513) 474 475 #line 211 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 476 , Tuple.Create(Tuple.Create("", 11503), Tuple.Create<System.Object, System.Int32>(BrandName 477 478 #line default 479 #line hidden 480 , 11503), false) 481 ); 482 483 WriteLiteral(" />\r\n"); 484 485 486 #line 212 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 487 } 488 489 490 #line default 491 #line hidden 492 WriteLiteral("\r\n"); 493 494 495 #line 214 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 496 497 498 #line default 499 #line hidden 500 501 #line 214 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 502 if (!String.IsNullOrEmpty(CatalogueRemark)) 503 { 504 505 506 #line default 507 #line hidden 508 WriteLiteral(" <div"); 509 510 WriteLiteral(" class=\"catalogue-remark\""); 511 512 WriteLiteral(">"); 513 514 515 #line 216 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 516 Write(CatalogueRemark); 517 518 519 #line default 520 #line hidden 521 WriteLiteral("</div>\r\n"); 522 523 524 #line 217 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 525 } 526 527 528 #line default 529 #line hidden 530 WriteLiteral(" <!-- Product images -->\r\n <div"); 531 532 WriteLiteral(" id=\"product-carousel\""); 533 534 WriteLiteral(" class=\"carousel product-carousel slide\""); 535 536 WriteLiteral(" data-ride=\"carousel\""); 537 538 WriteLiteral(">\r\n\r\n <!-- Wrapper for slides -->\r\n <div"); 539 540 WriteLiteral(" class=\"carousel-inner\""); 541 542 WriteLiteral(" role=\"listbox\""); 543 544 WriteLiteral(">\r\n"); 545 546 547 #line 223 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 548 549 550 #line default 551 #line hidden 552 553 #line 223 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 554 if (productImages.Any()) 555 { 556 foreach (var pi in productImages) 557 { 558 string ActiveCss = pi == productImages.First() ? "active" : ""; 559 string ImageUrl = "/admin/public/getimage.ashx?image=" + pi.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=1200&height=800&Compression=99&Crop=5"; 560 string LargeImage = "/admin/public/getimage.ashx?image=" + pi.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=3800&height=2000&Compression=99Crop=5"; 561 562 563 #line default 564 #line hidden 565 WriteLiteral(" <div"); 566 567 WriteAttribute("class", Tuple.Create(" class=\"", 12696), Tuple.Create("\"", 12719) 568 , Tuple.Create(Tuple.Create("", 12704), Tuple.Create("item", 12704), true) 569 570 #line 230 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 571 , Tuple.Create(Tuple.Create(" ", 12708), Tuple.Create<System.Object, System.Int32>(ActiveCss 572 573 #line default 574 #line hidden 575 , 12709), false) 576 ); 577 578 WriteLiteral(">\r\n <a"); 579 580 WriteLiteral(" class=\"gallery-image\""); 581 582 WriteAttribute("href", Tuple.Create(" href=\"", 12783), Tuple.Create("\"", 12801) 583 584 #line 231 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 585 , Tuple.Create(Tuple.Create("", 12790), Tuple.Create<System.Object, System.Int32>(LargeImage 586 587 #line default 588 #line hidden 589 , 12790), false) 590 ); 591 592 WriteLiteral(" data-gallery>\r\n <img"); 593 594 WriteLiteral(" class=\"img-responsive\""); 595 596 WriteAttribute("src", Tuple.Create(" src=\"", 12885), Tuple.Create("\"", 12900) 597 598 #line 232 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 599 , Tuple.Create(Tuple.Create("", 12891), Tuple.Create<System.Object, System.Int32>(ImageUrl 600 601 #line default 602 #line hidden 603 , 12891), false) 604 ); 605 606 WriteAttribute("alt", Tuple.Create(" alt=\"", 12901), Tuple.Create("\"", 12919) 607 608 #line 232 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 609 , Tuple.Create(Tuple.Create("", 12907), Tuple.Create<System.Object, System.Int32>(productName 610 611 #line default 612 #line hidden 613 , 12907), false) 614 ); 615 616 WriteLiteral(" style=\"max-height:400px;max-width:600px;\""); 617 618 WriteLiteral(">\r\n </a>\r\n </di" + 619 "v>\r\n"); 620 621 622 #line 235 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 623 } 624 } 625 else 626 { 627 628 629 #line default 630 #line hidden 631 WriteLiteral(" <div"); 632 633 WriteLiteral(" class=\"item active\""); 634 635 WriteLiteral(">\r\n <img"); 636 637 WriteLiteral(" class=\"img-responsive\""); 638 639 WriteAttribute("src", Tuple.Create(" src=\"", 13276), Tuple.Create("\"", 13305) 640 641 #line 240 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 642 , Tuple.Create(Tuple.Create("", 13282), Tuple.Create<System.Object, System.Int32>(primaryProductImageUrl 643 644 #line default 645 #line hidden 646 , 13282), false) 647 ); 648 649 WriteAttribute("alt", Tuple.Create(" alt=\"", 13306), Tuple.Create("\"", 13324) 650 651 #line 240 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 652 , Tuple.Create(Tuple.Create("", 13312), Tuple.Create<System.Object, System.Int32>(productName 653 654 #line default 655 #line hidden 656 , 13312), false) 657 ); 658 659 WriteLiteral(" style=\"height:400px;\""); 660 661 WriteLiteral(">\r\n </div>\r\n"); 662 663 664 #line 242 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 665 } 666 667 668 #line default 669 #line hidden 670 WriteLiteral(" </div>\r\n\r\n <div"); 671 672 WriteLiteral(" class=\"product-indicators carousel-indicators\""); 673 674 WriteLiteral(">\r\n"); 675 676 677 #line 246 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 678 679 680 #line default 681 #line hidden 682 683 #line 246 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 684 foreach (var pi in productImages) 685 { 686 string FirstClass = IndicatorCounter == 0 ? "active" : ""; 687 string ImageUrl = "/admin/public/getimage.ashx?image=" + pi.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=125&height=80&Compression=90&Crop=5"; 688 689 690 #line default 691 #line hidden 692 WriteLiteral(" <div"); 693 694 WriteAttribute("class", Tuple.Create(" class=\"", 13924), Tuple.Create("\"", 13953) 695 , Tuple.Create(Tuple.Create("", 13932), Tuple.Create("indicator", 13932), true) 696 697 #line 250 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 698 , Tuple.Create(Tuple.Create(" ", 13941), Tuple.Create<System.Object, System.Int32>(FirstClass 699 700 #line default 701 #line hidden 702 , 13942), false) 703 ); 704 705 WriteLiteral(" data-target=\"#product-carousel\""); 706 707 WriteLiteral(" data-slide-to=\""); 708 709 710 #line 250 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 711 Write(IndicatorCounter); 712 713 714 #line default 715 #line hidden 716 WriteLiteral("\""); 717 718 WriteLiteral(">\r\n <img"); 719 720 WriteLiteral(" class=\"img-responsive\""); 721 722 WriteAttribute("src", Tuple.Create(" src=\"", 14082), Tuple.Create("\"", 14097) 723 724 #line 251 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 725 , Tuple.Create(Tuple.Create("", 14088), Tuple.Create<System.Object, System.Int32>(ImageUrl 726 727 #line default 728 #line hidden 729 , 14088), false) 730 ); 731 732 WriteAttribute("alt", Tuple.Create(" alt=\"", 14098), Tuple.Create("\"", 14116) 733 734 #line 251 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 735 , Tuple.Create(Tuple.Create("", 14104), Tuple.Create<System.Object, System.Int32>(productName 736 737 #line default 738 #line hidden 739 , 14104), false) 740 ); 741 742 WriteLiteral(">\r\n </div>\r\n"); 743 744 745 #line 253 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 746 IndicatorCounter++; 747 } 748 749 750 #line default 751 #line hidden 752 WriteLiteral("\r\n\r\n"); 753 754 755 #line 257 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 756 757 758 #line default 759 #line hidden 760 761 #line 257 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 762 if (!String.IsNullOrEmpty(YtVideoId)) 763 { 764 765 766 #line default 767 #line hidden 768 WriteLiteral(" <div"); 769 770 WriteLiteral(" class=\"product-video\""); 771 772 WriteLiteral(">\r\n\r\n <img"); 773 774 WriteLiteral(" style=\"display:none;\""); 775 776 WriteAttribute("src", Tuple.Create(" src=\"", 14444), Tuple.Create("\"", 14470) 777 778 #line 261 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 779 , Tuple.Create(Tuple.Create("", 14450), Tuple.Create<System.Object, System.Int32>(YtVideoPreviewImage 780 781 #line default 782 #line hidden 783 , 14450), false) 784 ); 785 786 WriteLiteral(" data-toggle=\"modal\""); 787 788 WriteLiteral(" data-target=\"#ytModal\""); 789 790 WriteLiteral(" data-bind=\"productYoutubeVideo: { videoId: \'"); 791 792 793 #line 261 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 794 Write(YtVideoId); 795 796 797 #line default 798 #line hidden 799 WriteLiteral("\', modalId: \'#ytModal\', playerId: \'productYtVideo\' }\""); 800 801 WriteLiteral(" />\r\n\r\n <div"); 802 803 WriteLiteral(" class=\"yt-bg\""); 804 805 WriteLiteral("></div>\r\n\r\n <i"); 806 807 WriteLiteral(" class=\"far fa-play-circle\""); 808 809 WriteLiteral(" data-toggle=\"modal\""); 810 811 WriteLiteral(" data-target=\"#ytModal\""); 812 813 WriteLiteral("></i>\r\n\r\n <div"); 814 815 WriteLiteral(" class=\"modal fade\""); 816 817 WriteLiteral(" id=\"ytModal\""); 818 819 WriteLiteral(" tabindex=\"-1\""); 820 821 WriteLiteral(" role=\"dialog\""); 822 823 WriteLiteral(">\r\n <div"); 824 825 WriteLiteral(" class=\"modal-dialog modal-lg\""); 826 827 WriteLiteral(" role=\"document\""); 828 829 WriteLiteral(">\r\n <div"); 830 831 WriteLiteral(" class=\"modal-content\""); 832 833 WriteLiteral(">\r\n <div"); 834 835 WriteLiteral(" class=\"youtube-video-container\""); 836 837 WriteLiteral(">\r\n <div"); 838 839 WriteLiteral(" class=\"video\""); 840 841 WriteLiteral(" id=\"productYtVideo\""); 842 843 WriteLiteral("></div>\r\n </div>\r\n " + 844 " </div>\r\n </div>\r\n " + 845 " </div>\r\n\r\n </div>\r\n"); 846 847 848 #line 278 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 849 } 850 851 852 #line default 853 #line hidden 854 WriteLiteral("\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </section" + 855 ">\r\n\r\n <div"); 856 857 WriteLiteral(" class=\"col-xs-12 col-md-6\""); 858 859 WriteLiteral(">\r\n <h1"); 860 861 WriteLiteral(" class=\"font-strong xs-m-t-0 xs-m-b-2\""); 862 863 WriteLiteral(">"); 864 865 866 #line 288 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 867 Write(productName); 868 869 870 #line default 871 #line hidden 872 WriteLiteral("</h1>\r\n\r\n <section>\r\n\r\n <div"); 873 874 WriteLiteral(" class=\"product-keyinfo\""); 875 876 WriteLiteral(">\r\n\r\n <div"); 877 878 WriteLiteral(" class=\"keyinfo\""); 879 880 WriteLiteral(">\r\n <p>"); 881 882 883 #line 295 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 884 Write(Translate("Product.NumberShort", "Varenr.")); 885 886 887 #line default 888 #line hidden 889 WriteLiteral("</p>\r\n <p>"); 890 891 892 #line 296 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 893 Write(productNumber); 894 895 896 #line default 897 #line hidden 898 WriteLiteral("</p>\r\n </div>\r\n\r\n <div"); 899 900 WriteLiteral(" class=\"keyinfo\""); 901 902 WriteLiteral(">\r\n <p>"); 903 904 905 #line 300 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 906 Write(Translate("Product.EAN", "EAN")); 907 908 909 #line default 910 #line hidden 911 WriteLiteral("</p>\r\n <p>"); 912 913 914 #line 301 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 915 Write(EAN); 916 917 918 #line default 919 #line hidden 920 WriteLiteral("</p>\r\n </div>\r\n\r\n <div"); 921 922 WriteLiteral(" class=\"keyinfo\""); 923 924 WriteLiteral(">\r\n <p>"); 925 926 927 #line 305 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 928 Write(Translate("Product.SalesQuantity", "Salgskvanti")); 929 930 931 #line default 932 #line hidden 933 WriteLiteral("</p>\r\n <p>"); 934 935 936 #line 306 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 937 Write(defaultQuantity); 938 939 940 #line default 941 #line hidden 942 WriteLiteral("</p>\r\n </div>\r\n\r\n <div"); 943 944 WriteLiteral(" class=\"keyinfo\""); 945 946 WriteLiteral(">\r\n <p>"); 947 948 949 #line 310 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 950 Write(Translate("Product.Colli", "Antal i kolli")); 951 952 953 #line default 954 #line hidden 955 WriteLiteral("</p>\r\n <p>"); 956 957 958 #line 311 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 959 Write(Collisize); 960 961 962 #line default 963 #line hidden 964 WriteLiteral("</p>\r\n </div>\r\n"); 965 966 967 #line 313 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 968 969 970 #line default 971 #line hidden 972 973 #line 313 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 974 if (@Firstweb.Custom.CustomCode.Frontend.Helpers.Users.IsEmployee()) 975 { 976 977 978 #line default 979 #line hidden 980 WriteLiteral(" <div"); 981 982 WriteLiteral(" class=\"keyinfo\""); 983 984 WriteLiteral(">\r\n <a"); 985 986 WriteLiteral(" class=\"btn btn-primary\""); 987 988 WriteLiteral(" style=\"padding: 6px 8px;\""); 989 990 WriteLiteral(" data-toggle=\"modal\""); 991 992 WriteLiteral(" data-target=\"#extraEmployeeProductInfo\""); 993 994 WriteLiteral(" data-load-url=\"/Default.aspx?Id="); 995 996 997 #line 316 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 998 Write(Firstweb.Custom.CustomCode.Tapas.Context.AreaPages.GetPageId("extrapageinfo")); 999 1000 1001 #line default 1002 #line hidden 1003 WriteLiteral("&ProductId="); 1004 1005 1006 #line 316 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1007 Write(productID); 1008 1009 1010 #line default 1011 #line hidden 1012 WriteLiteral("\""); 1013 1014 WriteLiteral("><i"); 1015 1016 WriteLiteral(" class=\"fas fa-info-circle\""); 1017 1018 WriteLiteral(" style=\"font-size:20px;\""); 1019 1020 WriteLiteral("></i></a>\r\n </div>\r\n"); 1021 1022 1023 #line 318 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1024 1025 1026 1027 #line default 1028 #line hidden 1029 WriteLiteral(" <div"); 1030 1031 WriteLiteral(" class=\"modal fade\""); 1032 1033 WriteLiteral(" id=\"extraEmployeeProductInfo\""); 1034 1035 WriteLiteral(" tabindex=\"-1\""); 1036 1037 WriteLiteral(" role=\"dialog\""); 1038 1039 WriteLiteral(" data-load-url=\"/Default.aspx?Id=&ProductId=\""); 1040 1041 WriteLiteral(">\r\n <div"); 1042 1043 WriteLiteral(" class=\"modal-dialog modal-lg\""); 1044 1045 WriteLiteral(" role=\"document\""); 1046 1047 WriteLiteral(">\r\n <div"); 1048 1049 WriteLiteral(" class=\"modal-content\""); 1050 1051 WriteLiteral(">\r\n <div"); 1052 1053 WriteLiteral(" class=\"modal-header\""); 1054 1055 WriteLiteral(">\r\n <h1"); 1056 1057 WriteLiteral(" class=\"modal-title\""); 1058 1059 WriteLiteral(" style=\" display: inline-block;\""); 1060 1061 WriteLiteral(">Ekstra produkt info</h1>\r\n <button"); 1062 1063 WriteLiteral(" type=\"button\""); 1064 1065 WriteLiteral(" class=\"close\""); 1066 1067 WriteLiteral(" data-dismiss=\"modal\""); 1068 1069 WriteLiteral(" aria-label=\"Close\""); 1070 1071 WriteLiteral(" style=\"font-size:36px\""); 1072 1073 WriteLiteral(">\r\n <span"); 1074 1075 WriteLiteral(" aria-hidden=\"true\""); 1076 1077 WriteLiteral(">&times;</span>\r\n </button>\r\n " + 1078 " </div>\r\n <" + 1079 "div"); 1080 1081 WriteLiteral(" class=\"modal-body\""); 1082 1083 WriteLiteral(" style=\"padding:20px;\""); 1084 1085 WriteLiteral("></div>\r\n \r\n " + 1086 " </div>\r\n </div>\r\n " + 1087 " </div>\r\n"); 1088 1089 1090 #line 333 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1091 1092 1093 } 1094 1095 1096 #line default 1097 #line hidden 1098 WriteLiteral(" </div>\r\n\r\n </section>\r\n \r\n\r\n\r\n\r" + 1099 "\n\r\n <div"); 1100 1101 WriteLiteral(" class=\"row row-ce product-description xs-m-b-2\""); 1102 1103 WriteLiteral(">\r\n\r\n <div"); 1104 1105 WriteLiteral(" class=\"col-xs-12 col-md-6\""); 1106 1107 WriteLiteral(" style=\"align-self: flex-end;\""); 1108 1109 WriteLiteral(">\r\n"); 1110 1111 1112 #line 347 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1113 1114 1115 #line default 1116 #line hidden 1117 1118 #line 347 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1119 if (!isBlocked) 1120 { 1121 if (ShowShopFunctions) 1122 { 1123 1124 1125 #line default 1126 #line hidden 1127 WriteLiteral(" <div"); 1128 1129 WriteLiteral(" class=\"productlist-price-area \""); 1130 1131 WriteLiteral(">\r\n <div"); 1132 1133 WriteLiteral(" class=\"width-50\""); 1134 1135 WriteLiteral(">\r\n"); 1136 1137 1138 #line 353 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1139 1140 1141 #line default 1142 #line hidden 1143 1144 #line 353 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1145 if (IsPurchaceProduct) 1146 { 1147 1148 1149 #line default 1150 #line hidden 1151 WriteLiteral(" <p"); 1152 1153 WriteLiteral(" class=\"purchace-product text-left\""); 1154 1155 WriteLiteral(">\r\n <i"); 1156 1157 WriteLiteral(" class=\"far fa-truck\""); 1158 1159 WriteLiteral("></i> "); 1160 1161 1162 #line 356 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1163 Write(Translate("Product.PurchaceProduct", "Skaffevare")); 1164 1165 1166 #line default 1167 #line hidden 1168 WriteLiteral("\r\n </p>\r\n"); 1169 1170 1171 #line 358 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1172 } 1173 else 1174 { 1175 1176 1177 #line default 1178 #line hidden 1179 WriteLiteral(" <p"); 1180 1181 WriteLiteral(" class=\"stock-indicator\""); 1182 1183 WriteLiteral(">\r\n <span"); 1184 1185 WriteLiteral(" class=\"stock-load-async\""); 1186 1187 WriteAttribute("style", Tuple.Create(" style=\"", 19498), Tuple.Create("\"", 19536) 1188 , Tuple.Create(Tuple.Create("", 19506), Tuple.Create("background-color:", 19506), true) 1189 1190 #line 362 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1191 , Tuple.Create(Tuple.Create(" ", 19523), Tuple.Create<System.Object, System.Int32>(StockStatus 1192 1193 #line default 1194 #line hidden 1195 , 19524), false) 1196 ); 1197 1198 WriteLiteral("></span>\r\n <span"); 1199 1200 WriteLiteral(" class=\"stock-name\""); 1201 1202 WriteLiteral(">"); 1203 1204 1205 #line 363 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1206 Write(StockLabel); 1207 1208 1209 #line default 1210 #line hidden 1211 WriteLiteral("</span>\r\n <span"); 1212 1213 WriteLiteral(" class=\"stock-name js-in-stock-again hide\""); 1214 1215 WriteLiteral(">"); 1216 1217 1218 #line 364 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1219 Write(Translate("Product.StockExpectedAgaing", "P&aring; lager: ")); 1220 1221 1222 #line default 1223 #line hidden 1224 WriteLiteral("<span"); 1225 1226 WriteLiteral(" class=\"js-stock-date\""); 1227 1228 WriteLiteral("></span></span>\r\n </p>\r\n"); 1229 1230 1231 #line 366 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1232 if (NotInStock && !String.IsNullOrEmpty(ConfirmedDeliveryDate)) 1233 { 1234 1235 1236 #line default 1237 #line hidden 1238 WriteLiteral(" <p"); 1239 1240 WriteLiteral(" class=\"stock-cdd\""); 1241 1242 WriteLiteral(">"); 1243 1244 1245 #line 368 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1246 Write(Translate("Product.ConfirmedDeliveryDate", "På lager")); 1247 1248 1249 #line default 1250 #line hidden 1251 WriteLiteral(": "); 1252 1253 1254 #line 368 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1255 Write(ConfirmedDeliveryDate); 1256 1257 1258 #line default 1259 #line hidden 1260 WriteLiteral("</p>\r\n"); 1261 1262 1263 #line 369 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1264 } 1265 1266 if (StockStatus == "#009600") 1267 { 1268 1269 1270 #line default 1271 #line hidden 1272 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\t<p"); 1273 1274 WriteLiteral(" class=\"stock-cdd\""); 1275 1276 WriteLiteral(">"); 1277 1278 1279 #line 373 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1280 Write(Translate("Product.OnStockDeliveryText", "Levering: 1-2 dage")); 1281 1282 1283 #line default 1284 #line hidden 1285 WriteLiteral("</p>\r\n"); 1286 1287 1288 #line 374 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1289 } 1290 } 1291 1292 1293 #line default 1294 #line hidden 1295 WriteLiteral("\r\n </div>\r\n " + 1296 " <div"); 1297 1298 WriteLiteral(" class=\"width-50\""); 1299 1300 WriteLiteral(">\r\n\r\n"); 1301 1302 1303 #line 380 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1304 1305 1306 #line default 1307 #line hidden 1308 1309 #line 380 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1310 if (!HidePrices) 1311 { 1312 1313 1314 1315 #line default 1316 #line hidden 1317 WriteLiteral(" <p><span"); 1318 1319 WriteLiteral(" class=\"price-display-normalprice\""); 1320 1321 WriteLiteral(">"); 1322 1323 1324 #line 383 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1325 Write(bruttoPrice); 1326 1327 1328 #line default 1329 #line hidden 1330 WriteLiteral("</span></p>\r\n"); 1331 1332 WriteLiteral(" <p><span"); 1333 1334 WriteLiteral(" class=\"price-display-yourprice\""); 1335 1336 WriteLiteral(">"); 1337 1338 1339 #line 384 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1340 Write(GetString("Ecom:Product.Price.PriceWithoutVATFormatted")); 1341 1342 1343 #line default 1344 #line hidden 1345 WriteLiteral("</span></p>\r\n"); 1346 1347 1348 #line 385 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1349 if (ShowBeforePrice && 1 == 0) 1350 { 1351 1352 1353 #line default 1354 #line hidden 1355 WriteLiteral(" <p><span"); 1356 1357 WriteLiteral(" class=\"price-display-medium-label\""); 1358 1359 WriteLiteral(">"); 1360 1361 1362 #line 387 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1363 Write(Translate("Product.Beforeprice", "F&oslash;rpris")); 1364 1365 1366 #line default 1367 #line hidden 1368 WriteLiteral("</span> <span"); 1369 1370 WriteLiteral(" class=\"price-display-medium\""); 1371 1372 WriteLiteral(">"); 1373 1374 1375 #line 387 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1376 Write(BeforePriceFormatted); 1377 1378 1379 #line default 1380 #line hidden 1381 WriteLiteral("</span></p>\r\n"); 1382 1383 1384 #line 388 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1385 } 1386 } 1387 1388 1389 #line default 1390 #line hidden 1391 WriteLiteral(" </div>\r\n </div" + 1392 ">\r\n"); 1393 1394 1395 #line 392 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1396 1397 } 1398 } 1399 else 1400 { 1401 1402 1403 #line default 1404 #line hidden 1405 1406 #line 397 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1407 Write(RenderReplacementProducts(replacementProducts, productCatalog_PageId)); 1408 1409 1410 #line default 1411 #line hidden 1412 1413 #line 397 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1414 1415 } 1416 1417 1418 #line default 1419 #line hidden 1420 WriteLiteral("\r\n </div>\r\n\r\n <div"); 1421 1422 WriteLiteral(" class=\"col-xs-12 col-md-6 xs-m-t-2\""); 1423 1424 WriteLiteral(">\r\n\r\n\r\n"); 1425 1426 1427 #line 405 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1428 1429 1430 #line default 1431 #line hidden 1432 1433 #line 405 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1434 if (ShowShopFunctions && !isBlocked) 1435 { 1436 1437 1438 #line default 1439 #line hidden 1440 WriteLiteral(" <div"); 1441 1442 WriteLiteral(" class=\"add-to-cart xs-m-t-1\""); 1443 1444 WriteLiteral(">\r\n <input"); 1445 1446 WriteLiteral(" class=\"product-quantity\""); 1447 1448 WriteLiteral(" type=\"number\""); 1449 1450 WriteLiteral(" name=\"quantity\""); 1451 1452 WriteLiteral(" min=\"1\""); 1453 1454 WriteLiteral(" data-bind=\"textInput: Quantity, event: { keypress: function() { if (window.event" + 1455 ".keyCode == 13) { addItemToCart(\'"); 1456 1457 1458 #line 408 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1459 Write(productID); 1460 1461 1462 #line default 1463 #line hidden 1464 WriteLiteral("\', $(window.event.target).val(), \'\', \'\', \'"); 1465 1466 1467 #line 408 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1468 Write(Translate("Product.AddingToCart", "Tilføjer produkt")); 1469 1470 1471 #line default 1472 #line hidden 1473 WriteLiteral("\'); animateCart(event); } return true;}}\""); 1474 1475 WriteLiteral(" />\r\n <div"); 1476 1477 WriteAttribute("title", Tuple.Create(" title=\"", 22372), Tuple.Create("\"", 22401) 1478 1479 #line 409 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1480 , Tuple.Create(Tuple.Create("", 22380), Tuple.Create<System.Object, System.Int32>(addToCartWarningText 1481 1482 #line default 1483 #line hidden 1484 , 22380), false) 1485 ); 1486 1487 WriteLiteral(" class=\"btn btn-primary js-product-buy-btn\""); 1488 1489 WriteLiteral(" data-addedtocarttext=\""); 1490 1491 1492 #line 409 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1493 Write(Translate("Product.AddedToCart", "Varen er tilføjet")); 1494 1495 1496 #line default 1497 #line hidden 1498 WriteLiteral("\""); 1499 1500 WriteLiteral("\r\n data-bind=\"click: function() { if (\'"); 1501 1502 1503 #line 410 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1504 Write(inBackorders); 1505 1506 1507 #line default 1508 #line hidden 1509 WriteLiteral("\' == \'False\' || confirm(\'"); 1510 1511 1512 #line 410 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1513 Write(addToCartWarningTextConfirmation); 1514 1515 1516 #line default 1517 #line hidden 1518 WriteLiteral("\')) { addItemToCart(\'"); 1519 1520 1521 #line 410 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1522 Write(productID); 1523 1524 1525 #line default 1526 #line hidden 1527 WriteLiteral("\', Quantity(), \'\', \'\', \'"); 1528 1529 1530 #line 410 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1531 Write(Translate("Product.AddingToCart", "Tilføjer produkt")); 1532 1533 1534 #line default 1535 #line hidden 1536 WriteLiteral("\'); animateCart(event); } }\""); 1537 1538 WriteLiteral("\r\n data-productid=\""); 1539 1540 1541 #line 411 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1542 Write(productID); 1543 1544 1545 #line default 1546 #line hidden 1547 WriteLiteral("\""); 1548 1549 WriteLiteral(">\r\n"); 1550 1551 WriteLiteral(" "); 1552 1553 1554 #line 412 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1555 Write(Translate("Product.AddToCart", "TILFØJ TIL KURV")); 1556 1557 1558 #line default 1559 #line hidden 1560 WriteLiteral("\r\n\r\n"); 1561 1562 1563 #line 414 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1564 1565 1566 #line default 1567 #line hidden 1568 1569 #line 414 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1570 if (inBackorders) 1571 { 1572 1573 1574 #line default 1575 #line hidden 1576 WriteLiteral(" <i"); 1577 1578 WriteLiteral(" style=\"\""); 1579 1580 WriteLiteral("float:right;"); 1581 1582 WriteLiteral(" class=\"fas fa-exclamation-triangle\""); 1583 1584 WriteLiteral("></i>\r\n"); 1585 1586 1587 #line 417 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1588 } 1589 1590 1591 #line default 1592 #line hidden 1593 WriteLiteral("\r\n </div>\r\n\r\n\r\n <di" + 1594 "v"); 1595 1596 WriteLiteral(" class=\"favorite-list-icon\""); 1597 1598 WriteLiteral(" data-toggle=\"modal\""); 1599 1600 WriteLiteral(" data-target=\"#modal-"); 1601 1602 1603 #line 422 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1604 Write(productID); 1605 1606 1607 #line default 1608 #line hidden 1609 WriteLiteral("\""); 1610 1611 WriteLiteral(" data-bind=\"with: OrderTemplateViewModel\""); 1612 1613 WriteLiteral(">\r\n <div"); 1614 1615 WriteLiteral(" class=\"favorite-list-icon-btn\""); 1616 1617 WriteLiteral(" data-bind=\"\r\n oninit: function() { IsInFa" + 1618 "voriteList(\'"); 1619 1620 1621 #line 424 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1622 Write(inFavouriteBoolJS); 1623 1624 1625 #line default 1626 #line hidden 1627 WriteLiteral(@"'.toLowerCase()) }, 1628 css : { showFavorite : ShowOrderTemplateDialog, showNewList : OrderTemplateShowNewList, added: IsInFavoriteList() == 'true', notadded: IsInFavoriteList() == 'false' }, 1629 visible: $root.User().IsLoggedIn(), 1630 click: ToggleOrderTemplateDialog"""); 1631 1632 WriteLiteral(">\r\n <i"); 1633 1634 WriteLiteral(" class=\"fas fa-star\""); 1635 1636 WriteLiteral("></i>\r\n </div>\r\n " + 1637 " </div>\r\n\r\n\r\n </div>\r\n"); 1638 1639 1640 #line 434 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1641 1642 if (ShowQuantityPrices && !HidePrices) 1643 { 1644 1645 1646 #line default 1647 #line hidden 1648 WriteLiteral(" <div>\r\n"); 1649 1650 WriteLiteral(" "); 1651 1652 1653 #line 438 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1654 Write(RenderQuantityPrices(productNumber, productCurrency, productID)); 1655 1656 1657 #line default 1658 #line hidden 1659 WriteLiteral("\r\n </div>\r\n"); 1660 1661 1662 #line 440 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1663 } 1664 1665 1666 1667 #line default 1668 #line hidden 1669 WriteLiteral(" <div"); 1670 1671 WriteLiteral(" class=\"modal fade\""); 1672 1673 WriteAttribute("id", Tuple.Create(" id=\"", 24530), Tuple.Create("\"", 24551) 1674 , Tuple.Create(Tuple.Create("", 24535), Tuple.Create("modal-", 24535), true) 1675 1676 #line 442 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1677 , Tuple.Create(Tuple.Create("", 24541), Tuple.Create<System.Object, System.Int32>(productID 1678 1679 #line default 1680 #line hidden 1681 , 24541), false) 1682 ); 1683 1684 WriteLiteral(" tabindex=\"-1\""); 1685 1686 WriteLiteral(" role=\"dialog\""); 1687 1688 WriteLiteral(" data-bind=\"with: OrderTemplateViewModel\""); 1689 1690 WriteLiteral(">\r\n <!-- ko initValue: {observable: OrderTemplateR" + 1691 "elationCount, value:\'"); 1692 1693 1694 #line 443 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1695 Write(productInFavoritLists); 1696 1697 1698 #line default 1699 #line hidden 1700 WriteLiteral("\'}--><!-- /ko-->\r\n <!-- ko initValue: {observable:" + 1701 " ShowInFavourite, value: "); 1702 1703 1704 #line 444 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1705 Write(inFavouriteBoolJS); 1706 1707 1708 #line default 1709 #line hidden 1710 WriteLiteral("}--><!-- /ko-->\r\n <!-- ko initValue: {observable: " + 1711 "ModalSelector, value: \'#modal-"); 1712 1713 1714 #line 445 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1715 Write(productID); 1716 1717 1718 #line default 1719 #line hidden 1720 WriteLiteral("\'}--><!-- /ko-->\r\n <div"); 1721 1722 WriteLiteral(" class=\"modal-dialog\""); 1723 1724 WriteLiteral(" role=\"document\""); 1725 1726 WriteLiteral(">\r\n <div"); 1727 1728 WriteLiteral(" class=\"modal-content fav-list\""); 1729 1730 WriteLiteral(">\r\n\r\n <p"); 1731 1732 WriteLiteral(" class=\"favlist-header\""); 1733 1734 WriteLiteral(">"); 1735 1736 1737 #line 449 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1738 Write(Translate("Ordertemplate.AddToExistingList", "Tilføj til eksisterende favoritliste")); 1739 1740 1741 #line default 1742 #line hidden 1743 WriteLiteral("</p>\r\n\r\n <div"); 1744 1745 WriteLiteral(" class=\"existing-lists\""); 1746 1747 WriteLiteral(">\r\n\r\n <select"); 1748 1749 WriteLiteral(" class=\"favField select-fix\""); 1750 1751 WriteLiteral("\r\n data-bind=\"options: OrderTe" + 1752 "mplateList,\r\n optionsCaption: \'"); 1753 1754 1755 #line 455 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1756 Write(Translate("Ordertemplate.SelectList", "Vælg en liste")); 1757 1758 1759 #line default 1760 #line hidden 1761 WriteLiteral("...\',\r\n optionsText: function(item" + 1762 ") { return item.Value.Name() + \' (\' + item.Value.Count() + \')\' },\r\n " + 1763 " value: OrderTemplateSelectedList\""); 1764 1765 WriteLiteral("></select>\r\n\r\n <input"); 1766 1767 WriteLiteral(" class=\"product-quantity\""); 1768 1769 WriteLiteral(" type=\"number\""); 1770 1771 WriteLiteral(" name=\"quantity\""); 1772 1773 WriteLiteral(" data-bind=\"textInput: OrderTemplateQuantity\""); 1774 1775 WriteLiteral(" />\r\n\r\n <div"); 1776 1777 WriteLiteral(" class=\"btn btn-primary\""); 1778 1779 WriteLiteral(@" 1780 data-bind=""click: function() { 1781 OrderTemplateShowNewList() 1782 ? CreateNewOrderTemplateList('"); 1783 1784 1785 #line 464 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1786 Write(productID); 1787 1788 1789 #line default 1790 #line hidden 1791 WriteLiteral("\')\r\n : AddProductT" + 1792 "oOrderTemplate(\'"); 1793 1794 1795 #line 465 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1796 Write(productID); 1797 1798 1799 #line default 1800 #line hidden 1801 WriteLiteral("\' , OrderTemplateQuantity())\r\n }" + 1802 "\""); 1803 1804 WriteLiteral(">\r\n"); 1805 1806 WriteLiteral(" "); 1807 1808 1809 #line 467 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1810 Write(Translate("Ordertemplate.AddToList", "Tilføj")); 1811 1812 1813 #line default 1814 #line hidden 1815 WriteLiteral("\r\n </div>\r\n\r\n " + 1816 " </div>\r\n\r\n <p"); 1817 1818 WriteLiteral(" class=\"or-text\""); 1819 1820 WriteLiteral(">"); 1821 1822 1823 #line 472 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1824 Write(Translate("Ordertemplate.OrNewList", "eller...")); 1825 1826 1827 #line default 1828 #line hidden 1829 WriteLiteral("</p>\r\n\r\n <p"); 1830 1831 WriteLiteral(" class=\"favlist-header\""); 1832 1833 WriteLiteral(">"); 1834 1835 1836 #line 474 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1837 Write(Translate("Ordertemplate.AddToNewList", "Tilføj til ny favoritliste")); 1838 1839 1840 #line default 1841 #line hidden 1842 WriteLiteral("</p>\r\n\r\n <form"); 1843 1844 WriteAttribute("id", Tuple.Create(" id=\"", 27129), Tuple.Create("\"", 27153) 1845 , Tuple.Create(Tuple.Create("", 27134), Tuple.Create("EditForm-", 27134), true) 1846 1847 #line 476 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1848 , Tuple.Create(Tuple.Create("", 27143), Tuple.Create<System.Object, System.Int32>(productID 1849 1850 #line default 1851 #line hidden 1852 , 27143), false) 1853 ); 1854 1855 WriteLiteral("\r\n name=\"EditForm\""); 1856 1857 WriteLiteral(">\r\n <label"); 1858 1859 WriteLiteral(" class=\"xs-m-b-1\""); 1860 1861 WriteLiteral(" for=\"name\""); 1862 1863 WriteLiteral(">"); 1864 1865 1866 #line 478 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1867 Write(Translate("Ordertemplate.ListName", "Favoritliste navn")); 1868 1869 1870 #line default 1871 #line hidden 1872 WriteLiteral("</label>\r\n <div"); 1873 1874 WriteLiteral(" class=\"new-list\""); 1875 1876 WriteLiteral(">\r\n <input"); 1877 1878 WriteLiteral(" type=\"text\""); 1879 1880 WriteLiteral("\r\n name=\"name\""); 1881 1882 WriteLiteral("\r\n _id=\"name\""); 1883 1884 WriteLiteral("\r\n data-bind=\"textInput: Or" + 1885 "derTemplateNewListName\""); 1886 1887 WriteLiteral("\r\n autofocus"); 1888 1889 WriteLiteral("\r\n autocomplete=\"off\""); 1890 1891 WriteLiteral(" />\r\n\r\n <input"); 1892 1893 WriteLiteral(" class=\"product-quantity\""); 1894 1895 WriteLiteral(" type=\"number\""); 1896 1897 WriteLiteral(" name=\"quantity\""); 1898 1899 WriteLiteral(" data-bind=\"textInput: OrderTemplateNewListQuantity\""); 1900 1901 WriteLiteral(" />\r\n\r\n <button"); 1902 1903 WriteLiteral(" type=\"submit\""); 1904 1905 WriteLiteral("\r\n class=\"btn btn-primary\"" + 1906 ""); 1907 1908 WriteLiteral("\r\n _id=\"btnSave\""); 1909 1910 WriteLiteral("\r\n data-bind=\"click: funct" + 1911 "ion() { CreateNewOrderTemplateList(\'"); 1912 1913 1914 #line 492 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1915 Write(productID); 1916 1917 1918 #line default 1919 #line hidden 1920 WriteLiteral("\', OrderTemplateNewListQuantity()) }\""); 1921 1922 WriteLiteral(">\r\n"); 1923 1924 WriteLiteral(" "); 1925 1926 1927 #line 493 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1928 Write(Translate("Ordertemplate.SaveToNewList", "Tilføj til ny favoritliste")); 1929 1930 1931 #line default 1932 #line hidden 1933 WriteLiteral(@" 1934 </button> 1935 </div> 1936 </form> 1937 1938 </div> 1939 </div> 1940 </div> 1941 "); 1942 1943 1944 #line 501 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1945 } 1946 else if (!ShowShopFunctions) 1947 { 1948 1949 1950 #line default 1951 #line hidden 1952 WriteLiteral(" <div"); 1953 1954 WriteLiteral(" class=\"xs-m-t-2 text-right\""); 1955 1956 WriteLiteral(">\r\n "); 1957 1958 WriteLiteral("\r\n </div>\r\n"); 1959 1960 1961 #line 509 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1962 } 1963 1964 1965 #line default 1966 #line hidden 1967 WriteLiteral("\r\n\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <" + 1968 "div"); 1969 1970 WriteLiteral(" class=\"row row-ce\""); 1971 1972 WriteLiteral(">\r\n"); 1973 1974 1975 #line 519 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1976 1977 1978 #line default 1979 #line hidden 1980 1981 #line 519 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 1982 if (!String.IsNullOrEmpty(productDescription) || HasUSP_DA || HasUSP_EN) 1983 { 1984 1985 1986 #line default 1987 #line hidden 1988 WriteLiteral(" <div"); 1989 1990 WriteLiteral(" class=\"col-xs-12 xs-m-b-2\""); 1991 1992 WriteLiteral(">\r\n <div"); 1993 1994 WriteLiteral(" class=\"description-box\""); 1995 1996 WriteLiteral(" data-bind=\"readMore: { readMoreToggler: \'.js-read-more\' }\""); 1997 1998 WriteLiteral(">\r\n <div"); 1999 2000 WriteLiteral(" class=\"rte-content\""); 2001 2002 WriteLiteral(">\r\n"); 2003 2004 WriteLiteral(" "); 2005 2006 2007 #line 524 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2008 Write(productDescription); 2009 2010 2011 #line default 2012 #line hidden 2013 WriteLiteral("\r\n"); 2014 2015 2016 #line 525 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2017 2018 2019 #line default 2020 #line hidden 2021 2022 #line 525 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2023 if(HasUSP_DA) 2024 { 2025 2026 2027 #line default 2028 #line hidden 2029 WriteLiteral("\t\t\t\t\t\t\t\t\t\t<ul>\r\n"); 2030 2031 2032 #line 528 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2033 2034 2035 #line default 2036 #line hidden 2037 2038 #line 528 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2039 for (int i = 1; i <= 5; i++) 2040 { 2041 string usp = GetString($"Ecom:Product:Field.USP{i}.Value.Clean"); 2042 if (!String.IsNullOrEmpty(usp)) 2043 { 2044 2045 2046 #line default 2047 #line hidden 2048 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\t\t<li>"); 2049 2050 2051 #line 533 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2052 Write(usp); 2053 2054 2055 #line default 2056 #line hidden 2057 WriteLiteral("</li>\r\n"); 2058 2059 2060 #line 534 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2061 } 2062 } 2063 2064 2065 #line default 2066 #line hidden 2067 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t</ul>\r\n"); 2068 2069 2070 #line 539 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2071 } 2072 else if(HasUSP_EN) 2073 { 2074 2075 2076 #line default 2077 #line hidden 2078 WriteLiteral("\t\t\t\t\t\t\t\t\t\t<ul>\r\n"); 2079 2080 2081 #line 543 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2082 2083 2084 #line default 2085 #line hidden 2086 2087 #line 543 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2088 for (int i = 1; i <= 5; i++) 2089 { 2090 string usp = GetString($"Ecom:Product:Field.Supplier_USP{i}_EN.Value.Clean"); 2091 if (!String.IsNullOrEmpty(usp)) 2092 { 2093 2094 2095 #line default 2096 #line hidden 2097 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\t\t<li>"); 2098 2099 2100 #line 548 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2101 Write(usp); 2102 2103 2104 #line default 2105 #line hidden 2106 WriteLiteral("</li>\r\n"); 2107 2108 2109 #line 549 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2110 } 2111 } 2112 2113 2114 #line default 2115 #line hidden 2116 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t</ul>\t\t\t\t\t\t\t\t\t\r\n"); 2117 2118 2119 #line 553 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2120 } 2121 2122 2123 #line default 2124 #line hidden 2125 WriteLiteral("\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n </div>\r\n " + 2126 " <div"); 2127 2128 WriteLiteral(" class=\"read-more js-read-more\""); 2129 2130 WriteLiteral("><span"); 2131 2132 WriteLiteral(" class=\"js-read-more-text\""); 2133 2134 WriteLiteral(" data-readmore=\"Læs mere\""); 2135 2136 WriteLiteral(" data-readless=\"Læs mindre\""); 2137 2138 WriteLiteral(">Læs mere</span><span"); 2139 2140 WriteLiteral(" class=\"xs-m-l-1\""); 2141 2142 WriteLiteral("><i"); 2143 2144 WriteLiteral(" class=\"fal fa-chevron-down\""); 2145 2146 WriteLiteral("></i></span></div>\r\n </div>\r\n <" + 2147 "/div>\r\n"); 2148 2149 2150 #line 560 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2151 } 2152 2153 2154 2155 #line default 2156 #line hidden 2157 2158 #line 564 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2159 2160 2161 2162 #line default 2163 #line hidden 2164 WriteLiteral("\r\n\r\n\r\n\r\n\r\n <div"); 2165 2166 WriteLiteral(" class=\"col-xs-6 spec-left\""); 2167 2168 WriteLiteral(">\r\n"); 2169 2170 2171 #line 571 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2172 2173 2174 #line default 2175 #line hidden 2176 2177 #line 571 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2178 if (ShowDownload) 2179 { 2180 2181 2182 #line default 2183 #line hidden 2184 WriteLiteral(" <div"); 2185 2186 WriteLiteral(" class=\"specificaitons-header\""); 2187 2188 WriteLiteral("\r\n data-bind=\"productSpecifications: { toggleClas" + 2189 "s: \'open\', elementToSlideToggle: \'.js-documents\' }\""); 2190 2191 WriteLiteral(">\r\n <span>"); 2192 2193 2194 #line 575 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2195 Write(Translate("Product.ProductDownloads", "Download")); 2196 2197 2198 #line default 2199 #line hidden 2200 WriteLiteral("</span>\r\n <span"); 2201 2202 WriteLiteral(" class=\"xs-m-l-1\""); 2203 2204 WriteLiteral("><i"); 2205 2206 WriteLiteral(" class=\"fal fa-chevron-down\""); 2207 2208 WriteLiteral("></i></span>\r\n </div>\r\n"); 2209 2210 2211 #line 578 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2212 } 2213 2214 2215 #line default 2216 #line hidden 2217 WriteLiteral(" </div>\r\n\r\n\r\n\r\n\r\n <div"); 2218 2219 WriteAttribute("class", Tuple.Create(" class=\"", 31670), Tuple.Create("\"", 31722) 2220 , Tuple.Create(Tuple.Create("", 31678), Tuple.Create("col-xs-6", 31678), true) 2221 2222 #line 584 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2223 , Tuple.Create(Tuple.Create(" ", 31686), Tuple.Create<System.Object, System.Int32>(ShowDownload ? "spec-right" : "" 2224 2225 #line default 2226 #line hidden 2227 , 31687), false) 2228 ); 2229 2230 WriteLiteral(">\r\n <div"); 2231 2232 WriteLiteral(" class=\"specificaitons-header\""); 2233 2234 WriteLiteral("\r\n data-bind=\"productSpecifications: { toggleClass: \'" + 2235 "open\', elementToSlideToggle: \'.js-specifications\' }\""); 2236 2237 WriteLiteral(">\r\n <span>"); 2238 2239 2240 #line 587 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2241 Write(Translate("Product.ProductSpecifications", "Produktspecifikationer")); 2242 2243 2244 #line default 2245 #line hidden 2246 WriteLiteral("</span>\r\n <span"); 2247 2248 WriteLiteral(" class=\"xs-m-l-1\""); 2249 2250 WriteLiteral("><i"); 2251 2252 WriteLiteral(" class=\"fal fa-chevron-down\""); 2253 2254 WriteLiteral("></i></span>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r" + 2255 "\n <div"); 2256 2257 WriteLiteral(" class=\"col-xs-12\""); 2258 2259 WriteLiteral(">\r\n <div"); 2260 2261 WriteLiteral(" class=\"value-matrix js-specifications\""); 2262 2263 WriteLiteral(">\r\n <div"); 2264 2265 WriteLiteral(" class=\"xs-m-b-1\""); 2266 2267 WriteLiteral(">\r\n <div"); 2268 2269 WriteLiteral(" class=\"row\""); 2270 2271 WriteLiteral(">\r\n <div"); 2272 2273 WriteLiteral(" class=\"col-xs-12\""); 2274 2275 WriteLiteral(">\r\n <ul"); 2276 2277 WriteLiteral(" class=\"list-unstyled xs-m-t-0 xs-m-b-0\""); 2278 2279 WriteLiteral(">\r\n\r\n"); 2280 2281 2282 #line 602 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2283 2284 2285 #line default 2286 #line hidden 2287 2288 #line 602 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2289 if (ProductSpecificationsDisplayGroup != null) 2290 { 2291 foreach (var fv in ProductSpecificationsDisplayGroup.GetLoop("Fields")) 2292 { 2293 string FieldValue = fv.GetString("Ecom:FieldDisplayGroup.Field.Value"); 2294 2295 if (!String.IsNullOrEmpty(FieldValue) && FieldValue != "False") 2296 { 2297 2298 string FieldId = fv.GetString("Ecom:FieldDisplayGroup.Field.Id"); 2299 string FieldName = fv.GetString("Ecom:FieldDisplayGroup.Field.Name"); 2300 string FieldNameTranslated = Translate("ProductFields:" + FieldId, FieldName); 2301 string FieldValueTranslated = FieldValue; 2302 if (FieldValue == "True") 2303 { 2304 FieldValueTranslated = "Ja"; 2305 } 2306 2307 2308 2309 #line default 2310 #line hidden 2311 WriteLiteral(" <li"); 2312 2313 WriteLiteral(" class=\"bg-light-grey is-flex is-space-between padding-bottom-8px padding-top-8px" + 2314 " xs-p-l-1 xs-p-r-1\""); 2315 2316 WriteLiteral(">\r\n <div>"); 2317 2318 2319 #line 621 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2320 Write(FieldNameTranslated); 2321 2322 2323 #line default 2324 #line hidden 2325 WriteLiteral("</div>\r\n <div>"); 2326 2327 2328 #line 622 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2329 Write(FieldValueTranslated); 2330 2331 2332 #line default 2333 #line hidden 2334 WriteLiteral("</div>\r\n </li>\r\n"); 2335 2336 2337 #line 624 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2338 } 2339 } 2340 } 2341 2342 2343 #line default 2344 #line hidden 2345 WriteLiteral("\r\n\r\n\r\n"); 2346 2347 2348 #line 630 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2349 2350 2351 #line default 2352 #line hidden 2353 2354 #line 630 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2355 foreach (var productCategory in GetLoop("ProductCategories")) 2356 { 2357 foreach (var productCategoryField in productCategory.GetLoop("ProductCategoryFields")) 2358 { 2359 string categoryField = productCategoryField.GetString("Ecom:Product.CategoryField.Value.Clean"); 2360 2361 if (!String.IsNullOrEmpty(categoryField)) 2362 { 2363 string categoryLabel = productCategoryField.GetString("Ecom:Product.CategoryField.Label"); 2364 if (categoryLabel.StartsWith("#")) 2365 { 2366 categoryLabel = categoryLabel.TrimStart(new char[] { '#' }); 2367 categoryField = Translate($"SpecValue:{categoryField}", categoryField); 2368 } 2369 2370 2371 2372 #line default 2373 #line hidden 2374 WriteLiteral(" <li"); 2375 2376 WriteLiteral(" class=\"bg-light-grey is-flex is-space-between padding-bottom-8px padding-top-8px" + 2377 " xs-p-l-1 xs-p-r-1\""); 2378 2379 WriteLiteral(" data-test=\""); 2380 2381 2382 #line 645 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2383 Write(productCategoryField.GetString("Ecom:Product.CategoryField.TemplateTag")); 2384 2385 2386 #line default 2387 #line hidden 2388 WriteLiteral("\""); 2389 2390 WriteLiteral(">\r\n <div>"); 2391 2392 2393 #line 646 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2394 Write(categoryLabel); 2395 2396 2397 #line default 2398 #line hidden 2399 WriteLiteral("</div>\r\n <div>"); 2400 2401 2402 #line 647 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2403 Write(categoryField); 2404 2405 2406 #line default 2407 #line hidden 2408 WriteLiteral("</div>\r\n </li>\r\n"); 2409 2410 2411 #line 649 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2412 } 2413 2414 } 2415 } 2416 2417 2418 #line default 2419 #line hidden 2420 WriteLiteral("\r\n </ul>\r\n " + 2421 " </div>\r\n </div>\r\n " + 2422 "</div>\r\n </div>\r\n\r\n\r\n"); 2423 2424 2425 #line 661 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2426 2427 2428 #line default 2429 #line hidden 2430 2431 #line 661 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2432 if (ShowDownload) 2433 { 2434 2435 2436 #line default 2437 #line hidden 2438 WriteLiteral(" <div"); 2439 2440 WriteLiteral(" class=\"value-matrix js-documents\""); 2441 2442 WriteLiteral(">\r\n <div"); 2443 2444 WriteLiteral(" class=\"xs-m-b-1\""); 2445 2446 WriteLiteral(">\r\n <div"); 2447 2448 WriteLiteral(" class=\"row\""); 2449 2450 WriteLiteral(">\r\n <div"); 2451 2452 WriteLiteral(" class=\"col-xs-12\""); 2453 2454 WriteLiteral(">\r\n <ul"); 2455 2456 WriteLiteral(" class=\"list-unstyled xs-m-t-0 xs-m-b-0\""); 2457 2458 WriteLiteral(">\r\n\r\n\r\n\r\n"); 2459 2460 2461 #line 671 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2462 2463 2464 #line default 2465 #line hidden 2466 2467 #line 671 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2468 if (!String.IsNullOrEmpty(DocumentLink_UserManual)) 2469 { 2470 string documentName = Translate("Product.Documents.UserManual", "Brugervejledning"); 2471 string filename = System.IO.Path.GetFileName(DocumentLink_UserManual); 2472 2473 2474 #line default 2475 #line hidden 2476 WriteLiteral(" <li"); 2477 2478 WriteLiteral(" class=\"bg-light-grey xs-p-l-1 xs-p-r-1\""); 2479 2480 WriteLiteral(">\r\n <a"); 2481 2482 WriteAttribute("href", Tuple.Create(" href=\"", 37380), Tuple.Create("\"", 37411) 2483 2484 #line 676 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2485 , Tuple.Create(Tuple.Create("", 37387), Tuple.Create<System.Object, System.Int32>(DocumentLink_UserManual 2486 2487 #line default 2488 #line hidden 2489 , 37387), false) 2490 ); 2491 2492 WriteLiteral(" download=\"\""); 2493 2494 WriteLiteral(">\r\n <div"); 2495 2496 WriteLiteral(" class=\"row\""); 2497 2498 WriteLiteral(">\r\n <div"); 2499 2500 WriteLiteral(" class=\"col-xs-3\""); 2501 2502 WriteLiteral(">"); 2503 2504 2505 #line 678 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2506 Write(documentName); 2507 2508 2509 #line default 2510 #line hidden 2511 WriteLiteral("</div>\r\n <div"); 2512 2513 WriteLiteral(" class=\"col-xs-8\""); 2514 2515 WriteLiteral(">"); 2516 2517 2518 #line 679 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2519 Write(filename); 2520 2521 2522 #line default 2523 #line hidden 2524 WriteLiteral("</div>\r\n <div"); 2525 2526 WriteLiteral(" class=\"col-xs-1 download\""); 2527 2528 WriteLiteral("><i"); 2529 2530 WriteLiteral(" class=\"fal fa-chevron-down\""); 2531 2532 WriteLiteral("></i></div>\r\n </div>\r\n" + 2533 " </a>\r\n " + 2534 " </li>\r\n"); 2535 2536 2537 #line 684 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2538 } 2539 2540 2541 #line default 2542 #line hidden 2543 WriteLiteral("\r\n"); 2544 2545 2546 #line 686 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2547 2548 2549 #line default 2550 #line hidden 2551 2552 #line 686 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2553 if (!String.IsNullOrEmpty(DocumentLink_DataSheet)) 2554 { 2555 string documentName = Translate("Product.Documents.DataSheet", "Datablad"); 2556 string filename = System.IO.Path.GetFileName(DocumentLink_DataSheet); 2557 2558 2559 #line default 2560 #line hidden 2561 WriteLiteral(" <li"); 2562 2563 WriteLiteral(" class=\"bg-light-grey xs-p-l-1 xs-p-r-1\""); 2564 2565 WriteLiteral(">\r\n <a"); 2566 2567 WriteAttribute("href", Tuple.Create(" href=\"", 38656), Tuple.Create("\"", 38686) 2568 2569 #line 691 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2570 , Tuple.Create(Tuple.Create("", 38663), Tuple.Create<System.Object, System.Int32>(DocumentLink_DataSheet 2571 2572 #line default 2573 #line hidden 2574 , 38663), false) 2575 ); 2576 2577 WriteLiteral(" download=\"\""); 2578 2579 WriteLiteral(">\r\n <div"); 2580 2581 WriteLiteral(" class=\"row\""); 2582 2583 WriteLiteral(">\r\n <div"); 2584 2585 WriteLiteral(" class=\"col-xs-3\""); 2586 2587 WriteLiteral(">"); 2588 2589 2590 #line 693 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2591 Write(documentName); 2592 2593 2594 #line default 2595 #line hidden 2596 WriteLiteral("</div>\r\n <div"); 2597 2598 WriteLiteral(" class=\"col-xs-8\""); 2599 2600 WriteLiteral(">"); 2601 2602 2603 #line 694 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2604 Write(filename); 2605 2606 2607 #line default 2608 #line hidden 2609 WriteLiteral("</div>\r\n <div"); 2610 2611 WriteLiteral(" class=\"col-xs-1 download\""); 2612 2613 WriteLiteral("><i"); 2614 2615 WriteLiteral(" class=\"fal fa-chevron-down\""); 2616 2617 WriteLiteral("></i></div>\r\n </div>\r\n" + 2618 " </a>\r\n " + 2619 " </li>\r\n"); 2620 2621 2622 #line 699 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2623 } 2624 2625 2626 #line default 2627 #line hidden 2628 WriteLiteral("\r\n"); 2629 2630 2631 #line 701 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2632 2633 2634 #line default 2635 #line hidden 2636 2637 #line 701 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2638 if (!String.IsNullOrEmpty(DocumentLink_LockCertificate)) 2639 { 2640 string documentName = Translate("Product.Documents.LockCertificate", "Låsebevis"); 2641 string filename = System.IO.Path.GetFileName(DocumentLink_LockCertificate); 2642 2643 2644 #line default 2645 #line hidden 2646 WriteLiteral(" <li"); 2647 2648 WriteLiteral(" class=\"bg-light-grey xs-p-l-1 xs-p-r-1\""); 2649 2650 WriteLiteral(">\r\n <a"); 2651 2652 WriteAttribute("href", Tuple.Create(" href=\"", 39950), Tuple.Create("\"", 39986) 2653 2654 #line 706 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2655 , Tuple.Create(Tuple.Create("", 39957), Tuple.Create<System.Object, System.Int32>(DocumentLink_LockCertificate 2656 2657 #line default 2658 #line hidden 2659 , 39957), false) 2660 ); 2661 2662 WriteLiteral(" download=\"\""); 2663 2664 WriteLiteral(">\r\n <div"); 2665 2666 WriteLiteral(" class=\"row\""); 2667 2668 WriteLiteral(">\r\n <div"); 2669 2670 WriteLiteral(" class=\"col-xs-3\""); 2671 2672 WriteLiteral(">"); 2673 2674 2675 #line 708 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2676 Write(documentName); 2677 2678 2679 #line default 2680 #line hidden 2681 WriteLiteral("</div>\r\n <div"); 2682 2683 WriteLiteral(" class=\"col-xs-8\""); 2684 2685 WriteLiteral(">"); 2686 2687 2688 #line 709 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2689 Write(filename); 2690 2691 2692 #line default 2693 #line hidden 2694 WriteLiteral("</div>\r\n <div"); 2695 2696 WriteLiteral(" class=\"col-xs-1 download\""); 2697 2698 WriteLiteral("><i"); 2699 2700 WriteLiteral(" class=\"fal fa-chevron-down\""); 2701 2702 WriteLiteral("></i></div>\r\n </div>\r\n" + 2703 " </a>\r\n " + 2704 " </li>\r\n"); 2705 2706 2707 #line 714 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2708 } 2709 2710 2711 #line default 2712 #line hidden 2713 WriteLiteral("\r\n"); 2714 2715 2716 #line 716 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2717 2718 2719 #line default 2720 #line hidden 2721 2722 #line 716 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2723 if (!String.IsNullOrEmpty(DocumentLink_BikelightTest)) 2724 { 2725 string documentName = Translate("Product.Documents.BikelightTest", "Lygtetest"); 2726 string filename = System.IO.Path.GetFileName(DocumentLink_BikelightTest); 2727 2728 2729 #line default 2730 #line hidden 2731 WriteLiteral(" <li"); 2732 2733 WriteLiteral(" class=\"bg-light-grey xs-p-l-1 xs-p-r-1\""); 2734 2735 WriteLiteral(">\r\n <a"); 2736 2737 WriteAttribute("href", Tuple.Create(" href=\"", 41244), Tuple.Create("\"", 41278) 2738 2739 #line 721 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2740 , Tuple.Create(Tuple.Create("", 41251), Tuple.Create<System.Object, System.Int32>(DocumentLink_BikelightTest 2741 2742 #line default 2743 #line hidden 2744 , 41251), false) 2745 ); 2746 2747 WriteLiteral(" download=\"\""); 2748 2749 WriteLiteral(">\r\n <div"); 2750 2751 WriteLiteral(" class=\"row\""); 2752 2753 WriteLiteral(">\r\n <div"); 2754 2755 WriteLiteral(" class=\"col-xs-3\""); 2756 2757 WriteLiteral(">"); 2758 2759 2760 #line 723 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2761 Write(documentName); 2762 2763 2764 #line default 2765 #line hidden 2766 WriteLiteral("</div>\r\n <div"); 2767 2768 WriteLiteral(" class=\"col-xs-8\""); 2769 2770 WriteLiteral(">"); 2771 2772 2773 #line 724 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2774 Write(filename); 2775 2776 2777 #line default 2778 #line hidden 2779 WriteLiteral("</div>\r\n <div"); 2780 2781 WriteLiteral(" class=\"col-xs-1 download\""); 2782 2783 WriteLiteral("><i"); 2784 2785 WriteLiteral(" class=\"fal fa-chevron-down\""); 2786 2787 WriteLiteral("></i></div>\r\n </div>\r\n" + 2788 " </a>\r\n " + 2789 " </li>\r\n"); 2790 2791 2792 #line 729 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2793 } 2794 2795 2796 #line default 2797 #line hidden 2798 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\t\r\n"); 2799 2800 2801 #line 731 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2802 2803 2804 #line default 2805 #line hidden 2806 2807 #line 731 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2808 if (!String.IsNullOrEmpty(DocumentLink_Catalog)) 2809 { 2810 string documentName = Translate("Product.Documents.Catalog", "Katalog"); 2811 string filename = System.IO.Path.GetFileName(DocumentLink_Catalog); 2812 2813 2814 #line default 2815 #line hidden 2816 WriteLiteral(" <li"); 2817 2818 WriteLiteral(" class=\"bg-light-grey xs-p-l-1 xs-p-r-1\""); 2819 2820 WriteLiteral(">\r\n <a"); 2821 2822 WriteAttribute("href", Tuple.Create(" href=\"", 42492), Tuple.Create("\"", 42520) 2823 2824 #line 736 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2825 , Tuple.Create(Tuple.Create("", 42499), Tuple.Create<System.Object, System.Int32>(DocumentLink_Catalog 2826 2827 #line default 2828 #line hidden 2829 , 42499), false) 2830 ); 2831 2832 WriteLiteral(" download=\"\""); 2833 2834 WriteLiteral(">\r\n <div"); 2835 2836 WriteLiteral(" class=\"row\""); 2837 2838 WriteLiteral(">\r\n <div"); 2839 2840 WriteLiteral(" class=\"col-xs-3\""); 2841 2842 WriteLiteral(">"); 2843 2844 2845 #line 738 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2846 Write(documentName); 2847 2848 2849 #line default 2850 #line hidden 2851 WriteLiteral("</div>\r\n <div"); 2852 2853 WriteLiteral(" class=\"col-xs-8\""); 2854 2855 WriteLiteral(">"); 2856 2857 2858 #line 739 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2859 Write(filename); 2860 2861 2862 #line default 2863 #line hidden 2864 WriteLiteral("</div>\r\n <div"); 2865 2866 WriteLiteral(" class=\"col-xs-1 download\""); 2867 2868 WriteLiteral("><i"); 2869 2870 WriteLiteral(" class=\"fal fa-chevron-down\""); 2871 2872 WriteLiteral("></i></div>\r\n </div>\r\n" + 2873 " </a>\r\n " + 2874 " </li>\r\n"); 2875 2876 2877 #line 744 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2878 } 2879 2880 2881 #line default 2882 #line hidden 2883 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\t\r\n"); 2884 2885 2886 #line 746 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2887 2888 2889 #line default 2890 #line hidden 2891 2892 #line 746 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2893 if (!String.IsNullOrEmpty(DocumentLink_ExtraProductDocument1)) 2894 { 2895 string documentName = GetString("Ecom:Product:Field.FirstwebExtraProductDocument1_Description.Value.Clean"); 2896 documentName = String.IsNullOrEmpty(documentName) ? "Dokument" : documentName; 2897 string filename = System.IO.Path.GetFileName(DocumentLink_ExtraProductDocument1); 2898 2899 2900 #line default 2901 #line hidden 2902 WriteLiteral(" <li"); 2903 2904 WriteLiteral(" class=\"bg-light-grey xs-p-l-1 xs-p-r-1\""); 2905 2906 WriteLiteral(">\r\n <a"); 2907 2908 WriteAttribute("href", Tuple.Create(" href=\"", 43852), Tuple.Create("\"", 43894) 2909 2910 #line 752 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2911 , Tuple.Create(Tuple.Create("", 43859), Tuple.Create<System.Object, System.Int32>(DocumentLink_ExtraProductDocument1 2912 2913 #line default 2914 #line hidden 2915 , 43859), false) 2916 ); 2917 2918 WriteLiteral(" download=\"\""); 2919 2920 WriteLiteral(">\r\n <div"); 2921 2922 WriteLiteral(" class=\"row\""); 2923 2924 WriteLiteral(">\r\n <div"); 2925 2926 WriteLiteral(" class=\"col-xs-3\""); 2927 2928 WriteLiteral(">"); 2929 2930 2931 #line 754 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2932 Write(documentName); 2933 2934 2935 #line default 2936 #line hidden 2937 WriteLiteral("</div>\r\n <div"); 2938 2939 WriteLiteral(" class=\"col-xs-8\""); 2940 2941 WriteLiteral(">"); 2942 2943 2944 #line 755 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2945 Write(filename); 2946 2947 2948 #line default 2949 #line hidden 2950 WriteLiteral("</div>\r\n <div"); 2951 2952 WriteLiteral(" class=\"col-xs-1 download\""); 2953 2954 WriteLiteral("><i"); 2955 2956 WriteLiteral(" class=\"fal fa-chevron-down\""); 2957 2958 WriteLiteral("></i></div>\r\n </div>\r\n" + 2959 " </a>\r\n " + 2960 " </li>\r\n"); 2961 2962 2963 #line 760 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2964 } 2965 2966 2967 #line default 2968 #line hidden 2969 WriteLiteral("\t\t\t\t\t\t\t\t\t\t\t\t\r\n"); 2970 2971 2972 #line 762 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2973 2974 2975 #line default 2976 #line hidden 2977 2978 #line 762 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2979 if (!String.IsNullOrEmpty(DocumentLink_ExtraProductDocument2)) 2980 { 2981 string documentName = GetString("Ecom:Product:Field.FirstwebExtraProductDocument2_Description.Value.Clean"); 2982 documentName = String.IsNullOrEmpty(documentName) ? "Dokument" : documentName; 2983 string filename = System.IO.Path.GetFileName(DocumentLink_ExtraProductDocument2); 2984 2985 2986 #line default 2987 #line hidden 2988 WriteLiteral(" <li"); 2989 2990 WriteLiteral(" class=\"bg-light-grey xs-p-l-1 xs-p-r-1\""); 2991 2992 WriteLiteral(">\r\n <a"); 2993 2994 WriteAttribute("href", Tuple.Create(" href=\"", 45226), Tuple.Create("\"", 45268) 2995 2996 #line 768 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 2997 , Tuple.Create(Tuple.Create("", 45233), Tuple.Create<System.Object, System.Int32>(DocumentLink_ExtraProductDocument2 2998 2999 #line default 3000 #line hidden 3001 , 45233), false) 3002 ); 3003 3004 WriteLiteral(" download=\"\""); 3005 3006 WriteLiteral(">\r\n <div"); 3007 3008 WriteLiteral(" class=\"row\""); 3009 3010 WriteLiteral(">\r\n <div"); 3011 3012 WriteLiteral(" class=\"col-xs-3\""); 3013 3014 WriteLiteral(">"); 3015 3016 3017 #line 770 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3018 Write(documentName); 3019 3020 3021 #line default 3022 #line hidden 3023 WriteLiteral("</div>\r\n <div"); 3024 3025 WriteLiteral(" class=\"col-xs-8\""); 3026 3027 WriteLiteral(">"); 3028 3029 3030 #line 771 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3031 Write(filename); 3032 3033 3034 #line default 3035 #line hidden 3036 WriteLiteral("</div>\r\n <div"); 3037 3038 WriteLiteral(" class=\"col-xs-1 download\""); 3039 3040 WriteLiteral("><i"); 3041 3042 WriteLiteral(" class=\"fal fa-chevron-down\""); 3043 3044 WriteLiteral("></i></div>\r\n </div>\r\n" + 3045 " </a>\r\n " + 3046 " </li>\r\n"); 3047 3048 3049 #line 776 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3050 } 3051 3052 3053 #line default 3054 #line hidden 3055 WriteLiteral("\r\n\r\n </ul>\r\n " + 3056 " </div>\r\n </div>\r\n " + 3057 " </div>\r\n </div>\r\n"); 3058 3059 3060 #line 784 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3061 } 3062 3063 3064 #line default 3065 #line hidden 3066 WriteLiteral(" </div>\r\n <div"); 3067 3068 WriteLiteral(" class=\"col-xs-12 col-md-6 xs-m-t-3 md-m-t-0\""); 3069 3070 WriteLiteral(">\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n" + 3071 " </div>\r\n </main>\r\n\t\r\n</div>\r\n\r\n"); 3072 3073 3074 #line 798 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3075 if (showRelatedProducts) 3076 { 3077 bool relatedProductsFound = false; 3078 3079 3080 #line default 3081 #line hidden 3082 WriteLiteral(" <div"); 3083 3084 WriteLiteral(" class=\"js-show-related\""); 3085 3086 WriteLiteral(">\r\n"); 3087 3088 3089 #line 802 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3090 3091 3092 #line default 3093 #line hidden 3094 3095 #line 802 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3096 foreach (var Group in productRelatedGroups) 3097 { 3098 string GroupName = Group.GetString("Ecom:Product:RelatedGroup.Name"); 3099 string GroupID = Group.GetString("Ecom:Product:RelatedGroup.GroupID"); 3100 3101 3102 var RelatedProductsLoop = Group.GetLoop("RelatedProducts"); 3103 3104 if (RelatedProductsLoop.Any()) 3105 { 3106 relatedProductsFound = true; 3107 3108 3109 #line default 3110 #line hidden 3111 WriteLiteral(" <div"); 3112 3113 WriteLiteral(" class=\"millarco-productlist related-products xs-p-t-3\""); 3114 3115 WriteLiteral(" data-bind=\"viewModel: \'ProductListViewModel\'\""); 3116 3117 WriteLiteral(">\r\n <div"); 3118 3119 WriteLiteral(" class=\"container\""); 3120 3121 WriteLiteral(" data-bind=\"asyncPriceLoad: productListLoad\""); 3122 3123 WriteLiteral(">\r\n <p"); 3124 3125 WriteLiteral(" class=\"related-group-header\""); 3126 3127 WriteLiteral(">"); 3128 3129 3130 #line 815 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3131 Write(GroupName); 3132 3133 3134 #line default 3135 #line hidden 3136 WriteLiteral("</p>\r\n <div"); 3137 3138 WriteLiteral(" class=\"row row-ce\""); 3139 3140 WriteLiteral(">\r\n"); 3141 3142 3143 #line 817 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3144 3145 3146 #line default 3147 #line hidden 3148 3149 #line 817 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3150 foreach (var Product in RelatedProductsLoop) 3151 { 3152 3153 3154 #line default 3155 #line hidden 3156 3157 #line 819 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3158 Write(renderProduct(false, Product, true)); 3159 3160 3161 #line default 3162 #line hidden 3163 3164 #line 819 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3165 3166 } 3167 3168 3169 #line default 3170 #line hidden 3171 WriteLiteral(" </div>\r\n </div>\r\n </div" + 3172 ">\r\n"); 3173 3174 3175 #line 824 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3176 } 3177 3178 } 3179 3180 3181 #line default 3182 #line hidden 3183 WriteLiteral(" </div>\r\n"); 3184 3185 3186 #line 828 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3187 3188 if (relatedProductsFound) 3189 { 3190 3191 3192 #line default 3193 #line hidden 3194 3195 #line 831 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3196 Write(SnippetStart("RelatedProductLink")); 3197 3198 3199 #line default 3200 #line hidden 3201 3202 #line 831 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3203 3204 3205 3206 3207 #line default 3208 #line hidden 3209 WriteLiteral(" <div"); 3210 3211 WriteLiteral(" class=\"specificaitons-header\""); 3212 3213 WriteLiteral(" data-bind=\"scrollToElement: { target: \'js-show-related\' }\""); 3214 3215 WriteLiteral(">\r\n <span>"); 3216 3217 3218 #line 834 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3219 Write(Translate("Product.ProductRelatedProducts", "Relaterede produkter")); 3220 3221 3222 #line default 3223 #line hidden 3224 WriteLiteral("</span>\r\n <span"); 3225 3226 WriteLiteral(" class=\"xs-m-l-1\""); 3227 3228 WriteLiteral("><i"); 3229 3230 WriteLiteral(" class=\"fal fa-chevron-down\""); 3231 3232 WriteLiteral("></i></span>\r\n </div>\r\n"); 3233 3234 3235 #line 837 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3236 3237 3238 3239 #line default 3240 #line hidden 3241 3242 #line 838 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3243 Write(SnippetEnd("RelatedProductLink")); 3244 3245 3246 #line default 3247 #line hidden 3248 3249 #line 838 "E:\Dynamicweb\bikepartner.D365LIVE\Files\Templates\Designs\Tapas\eCom\Product\product.cshtml" 3250 3251 } 3252 3253 3254 } 3255 3256 3257 #line default 3258 #line hidden 3259 } 3260 } 3261 } 3262

1 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 2 @using Dynamicweb.Rendering; 3 @using System 4 @using System.Web; 5 @using System.Web.Script.Serialization; 6 @using System.Linq; 7 @using System.Collections.Generic; 8 @using Dynamicweb.Environment; 9 10 11 [Include file '../Productlist/includes/renderProduct.cshtml' not found in 'Templates/Designs/Tapas/eCom/Product/product.cshtml'] 12 13 @{ 14 string configForceStock = GetString("Firstweb:ErpStockInfo.Configuration(ForceStock)"); 15 string configForcePrice = GetString("Firstweb:ErpPriceInfo.Configuration(ForcePrice)"); 16 string configForceQuantityPrices = GetString("Firstweb:ErpPriceInfo.Configuration(ForceQuantityPrices)"); 17 string configPreparePricesAndStocksOnRelatedProducts = GetString("Firstweb:ErpPriceInfo.Configuration(PreparePricesAndStocksOnRelatedProducts)"); 18 19 string productID = GetString("Ecom:Product.ID"); 20 string productNumber = GetString("Ecom:Product.Number"); 21 22 string languageId = GetString("Ecom:Product.LanguageID"); 23 string variantId = GetString("Ecom:Product.VariantID"); 24 25 string mainProductID = GetString("Ecom:Product:Field.FirstwebMainProductID"); 26 27 string productName = GetString("Ecom:Product.Name"); 28 string productDescription = GetString("Ecom:Product.LongDescription"); 29 30 //Fallback til engelsk beskrivelse fjernet 31 //if (String.IsNullOrEmpty(productDescription)) 32 //{ 33 // productDescription = GetString("Ecom:Product:Field.Supplier_ProductDescription_EN"); 34 //} 35 36 string productShortDescription = GetString("Ecom:Product.ShortDescription"); 37 38 double nettoPrice = GetDouble("Ecom:Product.Price.PriceWithoutVAT"); //GetString("Firstweb:ErpPriceInfo.NettoPriceFormatted"); 39 string bruttoPrice = GetString("Firstweb:EcomProduct:BruttoPriceFormattedWithSymbol"); 40 41 double bruttoPriceDouble = GetDouble("Firstweb:EcomProduct:BruttoPrice"); 42 double deltaBruttoNetto = Math.Abs(bruttoPriceDouble - nettoPrice); 43 if (GetBoolean("Firstweb:EcomProduct:BruttoPriceIsConverted") && deltaBruttoNetto < 0.5) 44 { 45 bruttoPrice = GetString("Ecom:Product.Price.PriceWithoutVATFormatted"); 46 } 47 48 49 bool hasQuantityPrices = GetBoolean("Firstweb:ErpPriceInfo.HasQuantityPrices"); 50 51 string availableAmount = GetString("Firstweb:ErpStockInfo.StockQuantity"); 52 string stockColor = GetString("Firstweb:ErpStockInfo.StockColor"); 53 string productCurrency = GetString("Ecom:Product.Currency.Symbol"); 54 55 int productPackagingQuantity = GetInteger("Ecom:Product:Field.NAVMinQuantity"); 56 int defaultQuantity = productPackagingQuantity > 0 ? productPackagingQuantity : 1; //udskrives i salgskvanti og antals felt ved læg i kurv 57 58 int productInFavoritLists = GetInteger("Firstweb:Ecom:Product:OrderTemplate.InTemplates.Count"); 59 string inFavouriteBoolJS = productInFavoritLists > 0 ? "true" : "false"; 60 bool hasVariants = (GetLoop("VariantCombinations").Count() > 0); 61 62 string Collisize = GetString("Ecom:Product:Field.NAVColli"); //Antal i kolli 63 64 bool IsPurchaceProduct = (GetString("Ecom:Product:Field.NAVPurposeID") == "SKAFFE"); 65 66 bool HidePrices = Firstweb.Custom.CustomCode.Frontend.Helpers.Product.HidePrices(); 67 68 string currentPageId = Dynamicweb.Context.Current.Request.GetString("ID"); 69 70 //Images 71 List<Dynamicweb.Ecommerce.Products.Detail> productImages = Firstweb.Custom.CustomCode.Frontend.Helpers.ProductImages.GetProductImages(languageId, productID, variantId); 72 Dynamicweb.Ecommerce.Products.Detail primaryProductImage = productImages.FirstOrDefault(x => x.IsDefault); //Tag you can use instead: product.GetString("Ecom:Product.ImageDefault.Clean"); 73 74 //check for valid default image 75 if (primaryProductImage == null) 76 { 77 primaryProductImage = new Dynamicweb.Ecommerce.Products.Detail { Value = "" }; 78 } 79 else if (primaryProductImage.Value == null) 80 { 81 primaryProductImage.Value = ""; 82 } 83 84 85 string primaryProductImageUrl = "/admin/public/getimage.ashx?image=" + primaryProductImage.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=1200&Compression=99&Crop=5"; 86 if (String.IsNullOrEmpty(primaryProductImage.Value)) 87 { 88 primaryProductImageUrl = "/admin/public/getimage.ashx?image=/Files/Images/ecom/Products/no-image.jpg&width=1200&Compression=99&Crop=5"; 89 } 90 91 //Other packagings 92 var otherPackagingProducts = Firstweb.Custom.CustomCode.Frontend.Helpers.OtherPackagingProducts.GetOtherPackagingProducts(mainProductID).Where(i => i.Id != productID); 93 var showOtherPackagingProducts = otherPackagingProducts.Count() > 0; 94 95 //Documents 96 var productDocuments = Firstweb.Custom.CustomCode.Frontend.Helpers.ProductDocuments.Instance(productNumber, mainProductID).GetDocuments(); 97 98 //Related products 99 var productRelatedGroups = GetLoop("ProductRelatedGroups").Where(g => g.GetString("Ecom:Product:RelatedGroup.GroupID") != "RELGRP12"); 100 bool showRelatedProducts = productRelatedGroups.Any(); 101 102 //Related articles 103 var relatedArticles = Firstweb.Custom.CustomCode.Frontend.Helpers.Articles.GetRelatedArticles(productID); 104 105 bool showRelatedArticles = relatedArticles.Count > 0; 106 107 108 var breadCrumbGroupList = Firstweb.Custom.CustomCode.Frontend.Helpers.EcomGroups.getBreadCrumbGroupListByProduct(productID, true); 109 110 string BrandLogo = "/admin/public/getimage.ashx?image=" + GetString("Ecom:Product:Field.FirstwebBrandLogo.Value.FullPath") + "&height=40&crop=5"; 111 string BrandName = GetString("Ecom:Product:Field.FirstwebBrand.Label"); 112 113 string ByggebasenNumber = GetString("Ecom:Product:Field.FirstwebBBN.Value.Clean"); 114 string EAN = GetString("Ecom:Product:Field.FirstwebEAN.Value.Clean"); 115 string RRP = GetString("Firstweb:ErpPriceInfo:Prices.RRPFormatted"); 116 117 string priceWithoutVAT = GetString("Ecom:Product.Price.PriceWithoutVATFormatted"); 118 119 string productCatalog_PageId = Firstweb.Custom.CustomCode.Tapas.Context.AreaPages.GetPageId("productcatalog"); 120 121 string CatalogueRemark = GetString("Ecom:Product:Field.NAVCatalogRemark.Value"); 122 123 bool ShowShopFunctions = Firstweb.Custom.CustomCode.Tapas.Context.Current.ShopFunctionsVisibility.ShowShopFunctions(); 124 125 var QuantityPrices = GetLoop("Firstweb:ErpPriceInfo:QuantityPrices"); 126 127 string YtVideoId = GetString("Ecom:Product:Field.FirstwebVideoID.Value"); 128 string YtVideoPreviewImage = $"https://img.youtube.com/vi/{YtVideoId}/0.jpg"; 129 130 bool isBlocked = GetBoolean("Ecom:Product:Field.NAVIsBlocked"); 131 IEnumerable<Dynamicweb.Ecommerce.Products.ProductRelated> replacementProducts = Firstweb.Custom.CustomCode.Frontend.Helpers.Product.GetReplacementProducts(productID); 132 133 string DocumentLink_UserManual = GetString("Ecom:Product:Field.FirstwebUserManual.Value.Clean"); 134 string DocumentLink_DataSheet = GetString("Ecom:Product:Field.FirstwebDataSheet.Value.Clean"); 135 string DocumentLink_LockCertificate = GetString("Ecom:Product:Field.FirstwebLockCertificate.Value.Clean"); 136 string DocumentLink_BikelightTest = GetString("Ecom:Product:Field.FirstwebBikelightTest.Value.Clean"); 137 string DocumentLink_Catalog = GetString("Ecom:Product:Field.FirstwebCatalog.Value.Clean"); 138 139 string DocumentLink_ExtraProductDocument1 = GetString("Ecom:Product:Field.FirstwebExtraProductDocument1_File.Value.Clean"); 140 string DocumentLink_ExtraProductDocument2 = GetString("Ecom:Product:Field.FirstwebExtraProductDocument2_File.Value.Clean"); 141 142 bool ShowDownload = (!String.IsNullOrEmpty(DocumentLink_UserManual) || !String.IsNullOrEmpty(DocumentLink_DataSheet) || !String.IsNullOrEmpty(DocumentLink_LockCertificate) || !String.IsNullOrEmpty(DocumentLink_BikelightTest) || !String.IsNullOrEmpty(DocumentLink_Catalog) || !String.IsNullOrEmpty(DocumentLink_ExtraProductDocument1)|| !String.IsNullOrEmpty(DocumentLink_ExtraProductDocument2)); 143 144 int IndicatorCounter = 0; 145 string FindDealerPage = string.Format("/Default.aspx?id={0}", Firstweb.Custom.CustomCode.Tapas.Context.AreaPages.GetPageId("FindDealer")); 146 DateTime BackInStock = GetDate("Firstweb:ErpStockInfo.DeliveryDate"); 147 bool ShowBeforePrice = GetBoolean("Firstweb:EcomProduct:DisplayBeforePrice"); 148 string BeforePriceFormatted = GetString("Firstweb:EcomProduct:BeforePriceFormattedWithSymbol"); 149 string StockStatus = GetString("Firstweb:StockStatusColor"); //hvis rød og confirmed deliverydate - hvis dato 150 string StockLabel = GetString("Firstweb:StockStatusTitle"); 151 string ConfirmedDeliveryDate = GetString("Ecom:Product:Field.NAVConfirmedDeliveryDate.Value"); 152 bool NotInStock = GetBoolean("Firstweb:NotInStock"); 153 bool ShowQuantityPrices = GetBoolean("Firstweb:EcomProduct:ShowQuantityPricelistIcon"); 154 155 var ProductSpecificationsDisplayGroup = GetLoop("FieldDisplayGroups").FirstOrDefault(fdg => fdg.GetString("Ecom:FieldDisplayGroup.SystemName") == "ProductSpecifications"); 156 157 158 int backorderRemaining = 0; 159 bool inBackorders = Firstweb.Custom.CustomCode.Frontend.Helpers.Backordre.InBackorders(productNumber, out backorderRemaining); 160 string addToCartWarningText = inBackorders ? Translate("Cart.RestorderFirstPart", "Du har allerede") + " " + backorderRemaining + " " + Translate("Cart.RestorderSecondPart", "i restorder af denne.") : ""; 161 string addToCartWarningTextConfirmation = inBackorders ? addToCartWarningText + " - " + Translate("Cart.RestorderConfirm", "Vil du forsætte?") : ""; 162 163 bool HasUSP_DA = !String.IsNullOrEmpty(GetString("Ecom:Product:Field.USP1.Value.Clean")); 164 //Fallback til engelsk USP fjernet 165 //bool HasUSP_EN = !String.IsNullOrEmpty(GetString("Ecom:Product:Field.Supplier_USP1_EN.Value.Clean")); 166 bool HasUSP_EN = false; 167 } 168 169 170 <div class="container product-details"> 171 <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=".gallery-image"> 172 <div class="slides"></div> 173 <a class="prev">‹</a> 174 <a class="next">›</a> 175 <a class="close">×</a> 176 </div> 177 178 <!--breadcrumbs --> 179 <ol class="breadcrumb xs-m-b-1 xs-m-t-3"> 180 <li class="position-relative"> 181 <a href="" title="@Translate("Firstweb.Content.Breadcrumbs.FrontPage", "Forside")">@Translate("Firstweb.Content.Breadcrumbs.FrontPage", "Forside")</a> 182 </li> 183 184 185 186 @foreach (var link in breadCrumbGroupList) 187 { 188 string activeBreadcrumbCss = breadCrumbGroupList.Last() == link ? "active-breadcrumb" : ""; 189 <li class="position-relative @activeBreadcrumbCss"> 190 @if (link == breadCrumbGroupList.FirstOrDefault()) 191 { 192 <span title="@link.Name">@link.Name</span> 193 } 194 else 195 { 196 <a href="/Default.aspx?ID=@GetString("Ecom:Product:Page.ID")&amp;GroupID=@link.Id" title="@link.Name">@link.Name</a> 197 } 198 </li> 199 } 200 201 </ol> 202 <!--breadcrumbs--> 203 204 <main class="xs-p-b-3 xs-m-t-2" data-bind="viewModel: 'ProductPageViewModel'"> 205 <!-- ko initValue: {observable: Quantity, value:'@defaultQuantity'}--><!-- /ko--> 206 207 <div class="row row-ce"> 208 <section class="col-xs-12 col-md-6"> 209 @if (!String.IsNullOrEmpty(GetString("Ecom:Product:Field.FirstwebBrandLogo.Value.FullPath"))) 210 { 211 <img src="@BrandLogo" alt="@BrandName" /> 212 } 213 214 @if (!String.IsNullOrEmpty(CatalogueRemark)) 215 { 216 <div class="catalogue-remark">@CatalogueRemark</div> 217 } 218 <!-- Product images --> 219 <div id="product-carousel" class="carousel product-carousel slide" data-ride="carousel"> 220 221 <!-- Wrapper for slides --> 222 <div class="carousel-inner" role="listbox"> 223 @if (productImages.Any()) 224 { 225 foreach (var pi in productImages) 226 { 227 string ActiveCss = pi == productImages.First() ? "active" : ""; 228 string ImageUrl = "/admin/public/getimage.ashx?image=" + pi.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=1200&height=800&Compression=99&Crop=5"; 229 string LargeImage = "/admin/public/getimage.ashx?image=" + pi.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=3800&height=2000&Compression=99Crop=5"; 230 <div class="item @ActiveCss"> 231 <a class="gallery-image" href="@LargeImage" data-gallery> 232 <img class="img-responsive" src="@ImageUrl" alt="@productName" style="max-height:400px;max-width:600px;"> 233 </a> 234 </div> 235 } 236 } 237 else 238 { 239 <div class="item active"> 240 <img class="img-responsive" src="@primaryProductImageUrl" alt="@productName" style="height:400px;"> 241 </div> 242 } 243 </div> 244 245 <div class="product-indicators carousel-indicators"> 246 @foreach (var pi in productImages) 247 { 248 string FirstClass = IndicatorCounter == 0 ? "active" : ""; 249 string ImageUrl = "/admin/public/getimage.ashx?image=" + pi.Value + "&altFmImage_path=/Files/Images/ecom/Products/no-image.jpg&width=125&height=80&Compression=90&Crop=5"; 250 <div class="indicator @FirstClass" data-target="#product-carousel" data-slide-to="@IndicatorCounter"> 251 <img class="img-responsive" src="@ImageUrl" alt="@productName"> 252 </div> 253 IndicatorCounter++; 254 } 255 256 257 @if (!String.IsNullOrEmpty(YtVideoId)) 258 { 259 <div class="product-video"> 260 261 <img style="display:none;" src="@YtVideoPreviewImage" data-toggle="modal" data-target="#ytModal" data-bind="productYoutubeVideo: { videoId: '@YtVideoId', modalId: '#ytModal', playerId: 'productYtVideo' }" /> 262 263 <div class="yt-bg"></div> 264 265 <i class="far fa-play-circle" data-toggle="modal" data-target="#ytModal"></i> 266 267 <div class="modal fade" id="ytModal" tabindex="-1" role="dialog"> 268 <div class="modal-dialog modal-lg" role="document"> 269 <div class="modal-content"> 270 <div class="youtube-video-container"> 271 <div class="video" id="productYtVideo"></div> 272 </div> 273 </div> 274 </div> 275 </div> 276 277 </div> 278 } 279 280 281 </div> 282 283 </div> 284 285 </section> 286 287 <div class="col-xs-12 col-md-6"> 288 <h1 class="font-strong xs-m-t-0 xs-m-b-2">@productName</h1> 289 290 <section> 291 292 <div class="product-keyinfo"> 293 294 <div class="keyinfo"> 295 <p>@Translate("Product.NumberShort", "Varenr.")</p> 296 <p>@productNumber</p> 297 </div> 298 299 <div class="keyinfo"> 300 <p>@Translate("Product.EAN", "EAN")</p> 301 <p>@EAN</p> 302 </div> 303 304 <div class="keyinfo"> 305 <p>@Translate("Product.SalesQuantity", "Salgskvanti")</p> 306 <p>@defaultQuantity</p> 307 </div> 308 309 <div class="keyinfo"> 310 <p>@Translate("Product.Colli", "Antal i kolli")</p> 311 <p>@Collisize</p> 312 </div> 313 @if (@Firstweb.Custom.CustomCode.Frontend.Helpers.Users.IsEmployee()) 314 { 315 <div class="keyinfo"> 316 <a class="btn btn-primary" style="padding: 6px 8px;" data-toggle="modal" data-target="#extraEmployeeProductInfo" data-load-url="/Default.aspx?Id=@Firstweb.Custom.CustomCode.Tapas.Context.AreaPages.GetPageId("extrapageinfo")&ProductId=@productID"><i class="fas fa-info-circle" style="font-size:20px;"></i></a> 317 </div> 318 319 <div class="modal fade" id="extraEmployeeProductInfo" tabindex="-1" role="dialog" data-load-url="/Default.aspx?Id=&ProductId="> 320 <div class="modal-dialog modal-lg" role="document"> 321 <div class="modal-content"> 322 <div class="modal-header"> 323 <h1 class="modal-title" style=" display: inline-block;">Ekstra produkt info</h1> 324 <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="font-size:36px"> 325 <span aria-hidden="true">&times;</span> 326 </button> 327 </div> 328 <div class="modal-body" style="padding:20px;"></div> 329 330 </div> 331 </div> 332 </div> 333 334 335 } 336 </div> 337 338 </section> 339 340 341 342 343 344 <div class="row row-ce product-description xs-m-b-2"> 345 346 <div class="col-xs-12 col-md-6" style="align-self: flex-end;"> 347 @if (!isBlocked) 348 { 349 if (ShowShopFunctions) 350 { 351 <div class="productlist-price-area "> 352 <div class="width-50"> 353 @if (IsPurchaceProduct) 354 { 355 <p class="purchace-product text-left"> 356 <i class="far fa-truck"></i> @Translate("Product.PurchaceProduct", "Skaffevare") 357 </p> 358 } 359 else 360 { 361 <p class="stock-indicator"> 362 <span class="stock-load-async" style="background-color: @StockStatus"></span> 363 <span class="stock-name">@StockLabel</span> 364 <span class="stock-name js-in-stock-again hide">@Translate("Product.StockExpectedAgaing", "P&aring; lager: ")<span class="js-stock-date"></span></span> 365 </p> 366 if (NotInStock && !String.IsNullOrEmpty(ConfirmedDeliveryDate)) 367 { 368 <p class="stock-cdd">@Translate("Product.ConfirmedDeliveryDate", "På lager"): @ConfirmedDeliveryDate</p> 369 } 370 371 if (StockStatus == "#009600") 372 { 373 <p class="stock-cdd">@Translate("Product.OnStockDeliveryText", "Levering: 1-2 dage")</p> 374 } 375 } 376 377 </div> 378 <div class="width-50"> 379 380 @if (!HidePrices) 381 { 382 383 <p><span class="price-display-normalprice">@bruttoPrice</span></p> 384 <p><span class="price-display-yourprice">@GetString("Ecom:Product.Price.PriceWithoutVATFormatted")</span></p> 385 if (ShowBeforePrice && 1 == 0) 386 { 387 <p><span class="price-display-medium-label">@Translate("Product.Beforeprice", "F&oslash;rpris")</span> <span class="price-display-medium">@BeforePriceFormatted</span></p> 388 } 389 } 390 </div> 391 </div> 392 393 } 394 } 395 else 396 { 397 @RenderReplacementProducts(replacementProducts, productCatalog_PageId) 398 } 399 400 </div> 401 402 <div class="col-xs-12 col-md-6 xs-m-t-2"> 403 404 405 @if (ShowShopFunctions && !isBlocked) 406 { 407 <div class="add-to-cart xs-m-t-1"> 408 <input class="product-quantity" type="number" name="quantity" min="1" data-bind="textInput: Quantity, event: { keypress: function() { if (window.event.keyCode == 13) { addItemToCart('@productID', $(window.event.target).val(), '', '', '@Translate("Product.AddingToCart", "Tilføjer produkt")'); animateCart(event); } return true;}}" /> 409 <div title="@addToCartWarningText" class="btn btn-primary js-product-buy-btn" data-addedtocarttext="@Translate("Product.AddedToCart", "Varen er tilføjet")" 410 data-bind="click: function() { if ('@inBackorders' == 'False' || confirm('@addToCartWarningTextConfirmation')) { addItemToCart('@productID', Quantity(), '', '', '@Translate("Product.AddingToCart", "Tilføjer produkt")'); animateCart(event); } }" 411 data-productid="@productID"> 412 @Translate("Product.AddToCart", "TILFØJ TIL KURV") 413 414 @if (inBackorders) 415 { 416 <i style=""float:right; class="fas fa-exclamation-triangle"></i> 417 } 418 419 </div> 420 421 422 <div class="favorite-list-icon" data-toggle="modal" data-target="#modal-@productID" data-bind="with: OrderTemplateViewModel"> 423 <div class="favorite-list-icon-btn" data-bind=" 424 oninit: function() { IsInFavoriteList('@inFavouriteBoolJS'.toLowerCase()) }, 425 css : { showFavorite : ShowOrderTemplateDialog, showNewList : OrderTemplateShowNewList, added: IsInFavoriteList() == 'true', notadded: IsInFavoriteList() == 'false' }, 426 visible: $root.User().IsLoggedIn(), 427 click: ToggleOrderTemplateDialog"> 428 <i class="fas fa-star"></i> 429 </div> 430 </div> 431 432 433 </div> 434 435 if (ShowQuantityPrices && !HidePrices) 436 { 437 <div> 438 @RenderQuantityPrices(productNumber, productCurrency, productID) 439 </div> 440 } 441 442 <div class="modal fade" id="modal-@productID" tabindex="-1" role="dialog" data-bind="with: OrderTemplateViewModel"> 443 <!-- ko initValue: {observable: OrderTemplateRelationCount, value:'@productInFavoritLists'}--><!-- /ko--> 444 <!-- ko initValue: {observable: ShowInFavourite, value: @inFavouriteBoolJS}--><!-- /ko--> 445 <!-- ko initValue: {observable: ModalSelector, value: '#modal-@productID'}--><!-- /ko--> 446 <div class="modal-dialog" role="document"> 447 <div class="modal-content fav-list"> 448 449 <p class="favlist-header">@Translate("Ordertemplate.AddToExistingList", "Tilføj til eksisterende favoritliste")</p> 450 451 <div class="existing-lists"> 452 453 <select class="favField select-fix" 454 data-bind="options: OrderTemplateList, 455 optionsCaption: '@Translate("Ordertemplate.SelectList", "Vælg en liste")...', 456 optionsText: function(item) { return item.Value.Name() + ' (' + item.Value.Count() + ')' }, 457 value: OrderTemplateSelectedList"></select> 458 459 <input class="product-quantity" type="number" name="quantity" data-bind="textInput: OrderTemplateQuantity" /> 460 461 <div class="btn btn-primary" 462 data-bind="click: function() { 463 OrderTemplateShowNewList() 464 ? CreateNewOrderTemplateList('@productID') 465 : AddProductToOrderTemplate('@productID' , OrderTemplateQuantity()) 466 }"> 467 @Translate("Ordertemplate.AddToList", "Tilføj") 468 </div> 469 470 </div> 471 472 <p class="or-text">@Translate("Ordertemplate.OrNewList", "eller...")</p> 473 474 <p class="favlist-header">@Translate("Ordertemplate.AddToNewList", "Tilføj til ny favoritliste")</p> 475 476 <form id="EditForm-@productID" 477 name="EditForm"> 478 <label class="xs-m-b-1" for="name">@Translate("Ordertemplate.ListName", "Favoritliste navn")</label> 479 <div class="new-list"> 480 <input type="text" 481 name="name" 482 _id="name" 483 data-bind="textInput: OrderTemplateNewListName" 484 autofocus 485 autocomplete="off" /> 486 487 <input class="product-quantity" type="number" name="quantity" data-bind="textInput: OrderTemplateNewListQuantity" /> 488 489 <button type="submit" 490 class="btn btn-primary" 491 _id="btnSave" 492 data-bind="click: function() { CreateNewOrderTemplateList('@productID', OrderTemplateNewListQuantity()) }"> 493 @Translate("Ordertemplate.SaveToNewList", "Tilføj til ny favoritliste") 494 </button> 495 </div> 496 </form> 497 498 </div> 499 </div> 500 </div> 501 } 502 else if (!ShowShopFunctions) 503 { 504 <div class="xs-m-t-2 text-right"> 505 @* 506 <a href="@FindDealerPage" class="btn btn-primary">@Translate("Product.FindDealerLink", "Find forhandler")</a> 507 *@ 508 </div> 509 } 510 511 512 513 514 </div> 515 516 </div> 517 518 <div class="row row-ce"> 519 @if (!String.IsNullOrEmpty(productDescription) || HasUSP_DA || HasUSP_EN) 520 { 521 <div class="col-xs-12 xs-m-b-2"> 522 <div class="description-box" data-bind="readMore: { readMoreToggler: '.js-read-more' }"> 523 <div class="rte-content"> 524 @productDescription 525 @if(HasUSP_DA) 526 { 527 <ul> 528 @for (int i = 1; i <= 5; i++) 529 { 530 string usp = GetString($"Ecom:Product:Field.USP{i}.Value.Clean"); 531 if (!String.IsNullOrEmpty(usp)) 532 { 533 <li>@usp</li> 534 } 535 } 536 537 538 </ul> 539 } 540 else if(HasUSP_EN) 541 { 542 <ul> 543 @for (int i = 1; i <= 5; i++) 544 { 545 string usp = GetString($"Ecom:Product:Field.Supplier_USP{i}_EN.Value.Clean"); 546 if (!String.IsNullOrEmpty(usp)) 547 { 548 <li>@usp</li> 549 } 550 } 551 552 </ul> 553 } 554 555 556 </div> 557 <div class="read-more js-read-more"><span class="js-read-more-text" data-readmore="Læs mere" data-readless="Læs mindre">Læs mere</span><span class="xs-m-l-1"><i class="fal fa-chevron-down"></i></span></div> 558 </div> 559 </div> 560 } 561 562 @*<div class="col-xs-12"> 563 @RenderSnippet("RelatedProductLink") 564 </div>*@ 565 566 567 568 569 570 <div class="col-xs-6 spec-left"> 571 @if (ShowDownload) 572 { 573 <div class="specificaitons-header" 574 data-bind="productSpecifications: { toggleClass: 'open', elementToSlideToggle: '.js-documents' }"> 575 <span>@Translate("Product.ProductDownloads", "Download")</span> 576 <span class="xs-m-l-1"><i class="fal fa-chevron-down"></i></span> 577 </div> 578 } 579 </div> 580 581 582 583 584 <div class="col-xs-6 @(ShowDownload ? "spec-right" : "")"> 585 <div class="specificaitons-header" 586 data-bind="productSpecifications: { toggleClass: 'open', elementToSlideToggle: '.js-specifications' }"> 587 <span>@Translate("Product.ProductSpecifications", "Produktspecifikationer")</span> 588 <span class="xs-m-l-1"><i class="fal fa-chevron-down"></i></span> 589 </div> 590 591 </div> 592 593 594 595 <div class="col-xs-12"> 596 <div class="value-matrix js-specifications"> 597 <div class="xs-m-b-1"> 598 <div class="row"> 599 <div class="col-xs-12"> 600 <ul class="list-unstyled xs-m-t-0 xs-m-b-0"> 601 602 @if (ProductSpecificationsDisplayGroup != null) 603 { 604 foreach (var fv in ProductSpecificationsDisplayGroup.GetLoop("Fields")) 605 { 606 string FieldValue = fv.GetString("Ecom:FieldDisplayGroup.Field.Value"); 607 608 if (!String.IsNullOrEmpty(FieldValue) && FieldValue != "False") 609 { 610 611 string FieldId = fv.GetString("Ecom:FieldDisplayGroup.Field.Id"); 612 string FieldName = fv.GetString("Ecom:FieldDisplayGroup.Field.Name"); 613 string FieldNameTranslated = Translate("ProductFields:" + FieldId, FieldName); 614 string FieldValueTranslated = FieldValue; 615 if (FieldValue == "True") 616 { 617 FieldValueTranslated = "Ja"; 618 } 619 620 <li class="bg-light-grey is-flex is-space-between padding-bottom-8px padding-top-8px xs-p-l-1 xs-p-r-1"> 621 <div>@FieldNameTranslated</div> 622 <div>@FieldValueTranslated</div> 623 </li> 624 } 625 } 626 } 627 628 629 630 @foreach (var productCategory in GetLoop("ProductCategories")) 631 { 632 foreach (var productCategoryField in productCategory.GetLoop("ProductCategoryFields")) 633 { 634 string categoryField = productCategoryField.GetString("Ecom:Product.CategoryField.Value.Clean"); 635 636 if (!String.IsNullOrEmpty(categoryField)) 637 { 638 string categoryLabel = productCategoryField.GetString("Ecom:Product.CategoryField.Label"); 639 if (categoryLabel.StartsWith("#")) 640 { 641 categoryLabel = categoryLabel.TrimStart(new char[] { '#' }); 642 categoryField = Translate($"SpecValue:{categoryField}", categoryField); 643 } 644 645 <li class="bg-light-grey is-flex is-space-between padding-bottom-8px padding-top-8px xs-p-l-1 xs-p-r-1" data-test="@productCategoryField.GetString("Ecom:Product.CategoryField.TemplateTag")"> 646 <div>@categoryLabel</div> 647 <div>@categoryField</div> 648 </li> 649 } 650 651 } 652 } 653 654 </ul> 655 </div> 656 </div> 657 </div> 658 </div> 659 660 661 @if (ShowDownload) 662 { 663 <div class="value-matrix js-documents"> 664 <div class="xs-m-b-1"> 665 <div class="row"> 666 <div class="col-xs-12"> 667 <ul class="list-unstyled xs-m-t-0 xs-m-b-0"> 668 669 670 671 @if (!String.IsNullOrEmpty(DocumentLink_UserManual)) 672 { 673 string documentName = Translate("Product.Documents.UserManual", "Brugervejledning"); 674 string filename = System.IO.Path.GetFileName(DocumentLink_UserManual); 675 <li class="bg-light-grey xs-p-l-1 xs-p-r-1"> 676 <a href="@DocumentLink_UserManual" download=""> 677 <div class="row"> 678 <div class="col-xs-3">@documentName</div> 679 <div class="col-xs-8">@filename</div> 680 <div class="col-xs-1 download"><i class="fal fa-chevron-down"></i></div> 681 </div> 682 </a> 683 </li> 684 } 685 686 @if (!String.IsNullOrEmpty(DocumentLink_DataSheet)) 687 { 688 string documentName = Translate("Product.Documents.DataSheet", "Datablad"); 689 string filename = System.IO.Path.GetFileName(DocumentLink_DataSheet); 690 <li class="bg-light-grey xs-p-l-1 xs-p-r-1"> 691 <a href="@DocumentLink_DataSheet" download=""> 692 <div class="row"> 693 <div class="col-xs-3">@documentName</div> 694 <div class="col-xs-8">@filename</div> 695 <div class="col-xs-1 download"><i class="fal fa-chevron-down"></i></div> 696 </div> 697 </a> 698 </li> 699 } 700 701 @if (!String.IsNullOrEmpty(DocumentLink_LockCertificate)) 702 { 703 string documentName = Translate("Product.Documents.LockCertificate", "Låsebevis"); 704 string filename = System.IO.Path.GetFileName(DocumentLink_LockCertificate); 705 <li class="bg-light-grey xs-p-l-1 xs-p-r-1"> 706 <a href="@DocumentLink_LockCertificate" download=""> 707 <div class="row"> 708 <div class="col-xs-3">@documentName</div> 709 <div class="col-xs-8">@filename</div> 710 <div class="col-xs-1 download"><i class="fal fa-chevron-down"></i></div> 711 </div> 712 </a> 713 </li> 714 } 715 716 @if (!String.IsNullOrEmpty(DocumentLink_BikelightTest)) 717 { 718 string documentName = Translate("Product.Documents.BikelightTest", "Lygtetest"); 719 string filename = System.IO.Path.GetFileName(DocumentLink_BikelightTest); 720 <li class="bg-light-grey xs-p-l-1 xs-p-r-1"> 721 <a href="@DocumentLink_BikelightTest" download=""> 722 <div class="row"> 723 <div class="col-xs-3">@documentName</div> 724 <div class="col-xs-8">@filename</div> 725 <div class="col-xs-1 download"><i class="fal fa-chevron-down"></i></div> 726 </div> 727 </a> 728 </li> 729 } 730 731 @if (!String.IsNullOrEmpty(DocumentLink_Catalog)) 732 { 733 string documentName = Translate("Product.Documents.Catalog", "Katalog"); 734 string filename = System.IO.Path.GetFileName(DocumentLink_Catalog); 735 <li class="bg-light-grey xs-p-l-1 xs-p-r-1"> 736 <a href="@DocumentLink_Catalog" download=""> 737 <div class="row"> 738 <div class="col-xs-3">@documentName</div> 739 <div class="col-xs-8">@filename</div> 740 <div class="col-xs-1 download"><i class="fal fa-chevron-down"></i></div> 741 </div> 742 </a> 743 </li> 744 } 745 746 @if (!String.IsNullOrEmpty(DocumentLink_ExtraProductDocument1)) 747 { 748 string documentName = GetString("Ecom:Product:Field.FirstwebExtraProductDocument1_Description.Value.Clean"); 749 documentName = String.IsNullOrEmpty(documentName) ? "Dokument" : documentName; 750 string filename = System.IO.Path.GetFileName(DocumentLink_ExtraProductDocument1); 751 <li class="bg-light-grey xs-p-l-1 xs-p-r-1"> 752 <a href="@DocumentLink_ExtraProductDocument1" download=""> 753 <div class="row"> 754 <div class="col-xs-3">@documentName</div> 755 <div class="col-xs-8">@filename</div> 756 <div class="col-xs-1 download"><i class="fal fa-chevron-down"></i></div> 757 </div> 758 </a> 759 </li> 760 } 761 762 @if (!String.IsNullOrEmpty(DocumentLink_ExtraProductDocument2)) 763 { 764 string documentName = GetString("Ecom:Product:Field.FirstwebExtraProductDocument2_Description.Value.Clean"); 765 documentName = String.IsNullOrEmpty(documentName) ? "Dokument" : documentName; 766 string filename = System.IO.Path.GetFileName(DocumentLink_ExtraProductDocument2); 767 <li class="bg-light-grey xs-p-l-1 xs-p-r-1"> 768 <a href="@DocumentLink_ExtraProductDocument2" download=""> 769 <div class="row"> 770 <div class="col-xs-3">@documentName</div> 771 <div class="col-xs-8">@filename</div> 772 <div class="col-xs-1 download"><i class="fal fa-chevron-down"></i></div> 773 </div> 774 </a> 775 </li> 776 } 777 778 779 </ul> 780 </div> 781 </div> 782 </div> 783 </div> 784 } 785 </div> 786 <div class="col-xs-12 col-md-6 xs-m-t-3 md-m-t-0"> 787 788 789 790 </div> 791 </div> 792 </div> 793 </div> 794 </main> 795 796 </div> 797 798 @if (showRelatedProducts) 799 { 800 bool relatedProductsFound = false; 801 <div class="js-show-related"> 802 @foreach (var Group in productRelatedGroups) 803 { 804 string GroupName = Group.GetString("Ecom:Product:RelatedGroup.Name"); 805 string GroupID = Group.GetString("Ecom:Product:RelatedGroup.GroupID"); 806 807 808 var RelatedProductsLoop = Group.GetLoop("RelatedProducts"); 809 810 if (RelatedProductsLoop.Any()) 811 { 812 relatedProductsFound = true; 813 <div class="millarco-productlist related-products xs-p-t-3" data-bind="viewModel: 'ProductListViewModel'"> 814 <div class="container" data-bind="asyncPriceLoad: productListLoad"> 815 <p class="related-group-header">@GroupName</p> 816 <div class="row row-ce"> 817 @foreach (var Product in RelatedProductsLoop) 818 { 819 @renderProduct(false, Product, true) 820 } 821 </div> 822 </div> 823 </div> 824 } 825 826 } 827 </div> 828 829 if (relatedProductsFound) 830 { 831 @SnippetStart("RelatedProductLink") 832 833 <div class="specificaitons-header" data-bind="scrollToElement: { target: 'js-show-related' }"> 834 <span>@Translate("Product.ProductRelatedProducts", "Relaterede produkter")</span> 835 <span class="xs-m-l-1"><i class="fal fa-chevron-down"></i></span> 836 </div> 837 838 @SnippetEnd("RelatedProductLink") 839 } 840 841 842 } 843