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("&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(">×</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å 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ø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")&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">×</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å 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ø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