Voir plus d'images

Verrerie pour presse-ail - Pièce de rechange

Custom_USP1
Cet article est une pièce de rechange et non un produit complet.
Error compiling template "/Designs/Swift/Paragraph/Swift_ProductPrice_Custom.cshtml"
Line 730: Le nom de type ou d'espace de noms 'Helpers' n'existe pas dans l'espace de noms 'Smartpage.EvaSolo.CampaignPrices' (vous manque-t-il une référence d'assembly ?)
Line 1151: Le nom de type ou d'espace de noms 'Helpers' n'existe pas dans l'espace de noms 'Smartpage.EvaSolo.CampaignPrices' (vous manque-t-il une référence d'assembly ?)

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 using System; 13 using System.Collections.Generic; 14 using System.Linq; 15 16 #line 2 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 17 using Dynamicweb.Core.Encoders; 18 19 #line default 20 #line hidden 21 22 #line 3 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 23 using Dynamicweb.Ecommerce.ProductCatalog; 24 25 #line default 26 #line hidden 27 28 #line 4 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 29 using System.Globalization; 30 31 #line default 32 #line hidden 33 34 #line 5 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 35 using System.IO; 36 37 #line default 38 #line hidden 39 40 41 public class RazorEngine_c558e3df7f4a4f79b1154cd73c1f08e7 : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> { 42 43 #line hidden 44 45 public RazorEngine_c558e3df7f4a4f79b1154cd73c1f08e7() { 46 } 47 48 public override void Execute() { 49 WriteLiteral(" "); 50 51 WriteLiteral("\r\n"); 52 53 WriteLiteral(" "); 54 55 WriteLiteral("\r\n\r\n"); 56 57 WriteLiteral("\r\n\r\n"); 58 59 60 #line 9 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 61 62 ProductViewModel product = null; 63 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 64 { 65 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 66 } 67 else if (Pageview.Page.Item["DummyProduct"] != null && Pageview.IsVisualEditorMode) 68 { 69 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 70 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 71 72 if (productList?.Products is object) 73 { 74 product = productList.Products[0]; 75 } 76 } 77 78 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 79 bool anonymousUser = Pageview.User == null; 80 bool isErpConnectionDown = !Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsWebServiceConnectionAvailable"]); 81 bool hidePrice = anonymousUsersLimitations.Contains("price") && anonymousUser || Pageview.AreaSettings.GetBoolean("ErpDownHidePrices") && isErpConnectionDown; 82 83 bool productIsDiscontinued = product is object && product.Discontinued; 84 bool doNotShowPriceIfProductIsDiscontinued = Model.Item.GetBoolean("DoNotShowPriceIfProductIsDiscontinued"); 85 var isDiscontinued = productIsDiscontinued && doNotShowPriceIfProductIsDiscontinued; 86 87 88 #line default 89 #line hidden 90 WriteLiteral("\r\n\r\n"); 91 92 93 #line 36 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 94 if (product is object && !hidePrice && !isDiscontinued) { 95 bool showInformativePrice = Model.Item.GetBoolean("ShowInformativePrice"); 96 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("UnitId")) ? Dynamicweb.Context.Current.Request.Form.Get("UnitId") : string.Empty; 97 98 string priceFontSize = Model.Item.GetRawValueString("PriceSize", "h6 justify-content-center justify-content-lg-start"); //CUSTOM 99 string horizontalAlign = Model.Item.GetRawValueString("HorizontalAlignment", ""); 100 string layout = Model.Item.GetRawValueString("Layout", "horizontal"); 101 string textAlign = horizontalAlign == "center" ? "text-center" : string.Empty; 102 textAlign = horizontalAlign == "end" ? "text-end" : textAlign; 103 104 horizontalAlign = horizontalAlign == "center" && layout == "horizontal" ? "justify-content-center" : horizontalAlign; 105 horizontalAlign = horizontalAlign == "end" && layout == "horizontal" ? "justify-content-end" : horizontalAlign; 106 horizontalAlign = horizontalAlign == "center" && layout == "vertical" ? "align-items-center" : horizontalAlign; 107 horizontalAlign = horizontalAlign == "end" && layout == "vertical" ? "align-items-end" : horizontalAlign; 108 109 string flexDirection = layout == "horizontal" ? string.Empty : "flex-column"; 110 string flexGap = layout == "horizontal" ? "gap-3" : string.Empty; 111 string order = layout == "horizontal" ? string.Empty : "order-2"; 112 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? "theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 113 theme = GetViewParameter("theme") != null ? GetViewParameterString("theme") : theme; 114 115 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 116 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 117 contentPadding = contentPadding == "small" ? "p-1 px-md-2 py-md-1" : contentPadding; 118 contentPadding = contentPadding == "large" ? "p-2 px-md-3 py-md-2" : contentPadding; 119 120 //CUSTOM 121 string discountType = Model.Item.GetRawValueString("Custom_DiscountType", "none"); 122 string discountTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Custom_DiscountTheme")) ? "theme " + Model.Item.GetRawValueString("Custom_DiscountTheme").Replace(" ", "").Trim().ToLower() : string.Empty; 123 string discountIconColor = Model.Item.GetString("Custom_DiscountIconColor", "text-inherit"); 124 string discountIconSize = Model.Item.GetRawValueString("Custom_DiscountIconSize", "2"); 125 string discountImageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) ? Model.Item.GetFile("Custom_DiscountImage").Path : string.Empty; 126 string discountImagePath = discountImageSrc != string.Empty ? discountImageSrc : Model.Item.GetRawValueString("Custom_DiscountIcon", string.Empty); 127 discountImagePath = Path.GetExtension(discountImagePath).ToLower() != ".svg" ? "/Admin/Public/GetImage.ashx?image=" + discountImagePath + "&height=" + discountIconSize + "&width=" + discountIconSize + "&Crop=0&format=webp" : discountImagePath; 128 string discountImgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 129 //--CUSTOM 130 131 string showPricesWithVat = Pageview.Area.EcomPricesWithVat.ToLower(); 132 bool neverShowVat = string.IsNullOrEmpty(showPricesWithVat); 133 134 string priceMin = ""; 135 string priceMax = ""; 136 137 string liveInfoClass = ""; 138 string productInfoFeed = ""; 139 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsLazyLoadingForProductInfoEnabled"]); 140 if (isLazyLoadingForProductInfoEnabled) 141 { 142 if (Dynamicweb.Context.Current.Items.Contains("ProductInfoFeed")) 143 { 144 productInfoFeed = Dynamicweb.Context.Current.Items["ProductInfoFeed"]?.ToString(); 145 if (!string.IsNullOrEmpty(productInfoFeed)) 146 { 147 productInfoFeed = $"data-product-info-feed=\"{productInfoFeed}\""; 148 } 149 } 150 liveInfoClass = "js-live-info"; 151 } 152 153 154 155 #line default 156 #line hidden 157 WriteLiteral("\t<div"); 158 159 WriteAttribute("class", Tuple.Create(" class=\"", 5661), Tuple.Create("\"", 5732) 160 161 #line 95 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 162 , Tuple.Create(Tuple.Create("", 5669), Tuple.Create<System.Object, System.Int32>(textAlign 163 164 #line default 165 #line hidden 166 , 5669), false) 167 168 #line 95 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 169 , Tuple.Create(Tuple.Create(" ", 5679), Tuple.Create<System.Object, System.Int32>(liveInfoClass 170 171 #line default 172 #line hidden 173 , 5680), false) 174 , Tuple.Create(Tuple.Create(" ", 5694), Tuple.Create("item_", 5695), true) 175 176 #line 95 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 177 , Tuple.Create(Tuple.Create("", 5700), Tuple.Create<System.Object, System.Int32>(Model.Item.SystemName.ToLower() 178 179 #line default 180 #line hidden 181 , 5700), false) 182 ); 183 184 WriteLiteral(" data-product-id=\""); 185 186 187 #line 95 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 188 Write(product.Id); 189 190 191 #line default 192 #line hidden 193 WriteLiteral("\""); 194 195 WriteLiteral(" data-variant-id=\""); 196 197 198 #line 95 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 199 Write(product.VariantId); 200 201 202 #line default 203 #line hidden 204 WriteLiteral("\""); 205 206 WriteLiteral(" "); 207 208 209 #line 95 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 210 Write(productInfoFeed); 211 212 213 #line default 214 #line hidden 215 WriteLiteral(">\r\n"); 216 217 218 #line 96 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 219 220 221 #line default 222 #line hidden 223 224 #line 96 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 225 if (showInformativePrice && product.PriceInformative.Price != 0) 226 { 227 228 229 #line default 230 #line hidden 231 WriteLiteral("\t\t\t<div"); 232 233 WriteLiteral(" class=\"opacity-50\""); 234 235 WriteLiteral(">\r\n\t\t\t\t<span>"); 236 237 238 #line 99 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 239 Write(Translate("RRP")); 240 241 242 #line default 243 #line hidden 244 WriteLiteral(" </span>\r\n\t\t\t\t<span"); 245 246 WriteLiteral(" class=\"text-decoration-line-through text-price\""); 247 248 WriteLiteral(">"); 249 250 251 #line 100 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 252 Write(product.PriceInformative.PriceFormatted); 253 254 255 #line default 256 #line hidden 257 WriteLiteral("</span>\r\n\t\t\t</div>\r\n"); 258 259 260 #line 102 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 261 } 262 263 264 #line default 265 #line hidden 266 WriteLiteral("\t\t<div"); 267 268 WriteAttribute("class", Tuple.Create(" class=\"", 6089), Tuple.Create("\"", 6173) 269 270 #line 103 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 271 , Tuple.Create(Tuple.Create("", 6097), Tuple.Create<System.Object, System.Int32>(priceFontSize 272 273 #line default 274 #line hidden 275 , 6097), false) 276 , Tuple.Create(Tuple.Create(" ", 6111), Tuple.Create("m-0", 6112), true) 277 , Tuple.Create(Tuple.Create(" ", 6115), Tuple.Create("d-flex", 6116), true) 278 , Tuple.Create(Tuple.Create(" ", 6122), Tuple.Create("flex-wrap", 6123), true) 279 280 #line 103 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 281 , Tuple.Create(Tuple.Create(" ", 6132), Tuple.Create<System.Object, System.Int32>(flexDirection 282 283 #line default 284 #line hidden 285 , 6133), false) 286 287 #line 103 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 288 , Tuple.Create(Tuple.Create(" ", 6147), Tuple.Create<System.Object, System.Int32>(flexGap 289 290 #line default 291 #line hidden 292 , 6148), false) 293 294 #line 103 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 295 , Tuple.Create(Tuple.Create(" ", 6156), Tuple.Create<System.Object, System.Int32>(horizontalAlign 296 297 #line default 298 #line hidden 299 , 6157), false) 300 ); 301 302 WriteLiteral(" style=\"row-gap: 0 !important\""); 303 304 WriteLiteral(" itemprop=\"offers\""); 305 306 WriteLiteral(" itemscope"); 307 308 WriteLiteral(" itemtype=\"https://schema.org/Offer\""); 309 310 WriteLiteral(">\r\n\t\t\t<span"); 311 312 WriteLiteral(" itemprop=\"priceCurrency\""); 313 314 WriteAttribute("content", Tuple.Create(" content=\"", 6304), Tuple.Create("\"", 6341) 315 316 #line 104 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 317 , Tuple.Create(Tuple.Create("", 6314), Tuple.Create<System.Object, System.Int32>(product.Price.CurrencyCode 318 319 #line default 320 #line hidden 321 , 6314), false) 322 ); 323 324 WriteLiteral(" class=\"d-none\""); 325 326 WriteLiteral("></span>\r\n\r\n"); 327 328 329 #line 106 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 330 331 332 #line default 333 #line hidden 334 335 #line 106 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 336 if (showPricesWithVat == "false" && !neverShowVat) 337 { 338 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 339 { 340 341 342 #line default 343 #line hidden 344 WriteLiteral("\t\t\t\t\t<span"); 345 346 WriteLiteral(" itemprop=\"price\""); 347 348 WriteLiteral(" content=\"\""); 349 350 WriteLiteral(" class=\"d-none\""); 351 352 WriteLiteral("></span>\r\n"); 353 354 WriteLiteral("\t\t\t\t\t<span"); 355 356 WriteLiteral(" class=\"text-decoration-line-through js-text-decoration-line-through opacity-75 m" + 357 "e-3 text-price js-text-price d-none\""); 358 359 WriteLiteral(" data-show-if=\"LiveProductInfo.product.Price.Price != LiveProductInfo.product.Pri" + 360 "ceBeforeDiscount.Price\""); 361 362 WriteLiteral("></span>\r\n"); 363 364 365 #line 112 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 366 } 367 else 368 { 369 string beforePrice = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).PriceBeforeDiscount.PriceWithoutVatFormatted : product.PriceBeforeDiscount.PriceWithoutVatFormatted; 370 371 372 373 #line default 374 #line hidden 375 WriteLiteral("\t\t\t\t\t<span"); 376 377 WriteLiteral(" itemprop=\"price\""); 378 379 WriteAttribute("content", Tuple.Create(" content=\"", 7057), Tuple.Create("\"", 7136) 380 381 #line 117 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 382 , Tuple.Create(Tuple.Create("", 7067), Tuple.Create<System.Object, System.Int32>(product.Price.PriceWithoutVat.ToString(CultureInfo.InvariantCulture) 383 384 #line default 385 #line hidden 386 , 7067), false) 387 ); 388 389 WriteLiteral(" class=\"d-none\""); 390 391 WriteLiteral("></span>"); 392 393 394 #line 117 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 395 396 397 #line default 398 #line hidden 399 400 #line 117 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 401 402 if (product.Price.Price != product.PriceBeforeDiscount.Price) 403 { 404 405 406 #line default 407 #line hidden 408 WriteLiteral("\t\t\t\t\t\t<span"); 409 410 WriteAttribute("class", Tuple.Create(" class=\"", 7261), Tuple.Create("\"", 7315) 411 , Tuple.Create(Tuple.Create("", 7269), Tuple.Create("text-decoration-line-through", 7269), true) 412 , Tuple.Create(Tuple.Create(" ", 7297), Tuple.Create("opacity-75", 7298), true) 413 414 #line 120 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 415 , Tuple.Create(Tuple.Create(" ", 7308), Tuple.Create<System.Object, System.Int32>(order 416 417 #line default 418 #line hidden 419 , 7309), false) 420 ); 421 422 WriteLiteral(">"); 423 424 425 #line 120 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 426 Write(beforePrice); 427 428 429 #line default 430 #line hidden 431 WriteLiteral("</span>\r\n"); 432 433 434 #line 121 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 435 } 436 } 437 } 438 else 439 { 440 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 441 { 442 443 444 #line default 445 #line hidden 446 WriteLiteral("\t\t\t\t\t<span"); 447 448 WriteLiteral(" itemprop=\"price\""); 449 450 WriteLiteral(" content=\"\""); 451 452 WriteLiteral(" class=\"d-none\""); 453 454 WriteLiteral("></span>\r\n"); 455 456 WriteLiteral("\t\t\t\t\t<span"); 457 458 WriteLiteral(" class=\"text-decoration-line-through js-text-decoration-line-through opacity-75 m" + 459 "e-3 text-price js-text-price d-none\""); 460 461 WriteLiteral(" data-show-if=\"LiveProductInfo.product.Price.Price < LiveProductInfo.product.Pric" + 462 "eBeforeDiscount.Price\""); 463 464 WriteLiteral("></span>"); 465 466 467 #line 129 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 468 469 470 #line default 471 #line hidden 472 473 #line 129 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 474 475 } 476 else 477 { 478 string beforePrice = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).PriceBeforeDiscount.PriceFormatted : product.PriceBeforeDiscount.PriceFormatted; 479 480 481 482 #line default 483 #line hidden 484 WriteLiteral("\t\t\t\t\t<span"); 485 486 WriteLiteral(" itemprop=\"price\""); 487 488 WriteAttribute("content", Tuple.Create(" content=\"", 7991), Tuple.Create("\"", 8060) 489 490 #line 135 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 491 , Tuple.Create(Tuple.Create("", 8001), Tuple.Create<System.Object, System.Int32>(product.Price.Price.ToString(CultureInfo.InvariantCulture) 492 493 #line default 494 #line hidden 495 , 8001), false) 496 ); 497 498 WriteLiteral(" class=\"d-none\""); 499 500 WriteLiteral("></span>"); 501 502 503 #line 135 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 504 505 506 #line default 507 #line hidden 508 509 #line 135 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 510 511 512 if (product.Price.Price < product.PriceBeforeDiscount.Price) 513 { 514 515 516 #line default 517 #line hidden 518 WriteLiteral("\t\t\t\t\t\t<span"); 519 520 WriteAttribute("class", Tuple.Create(" class=\"", 8186), Tuple.Create("\"", 8240) 521 , Tuple.Create(Tuple.Create("", 8194), Tuple.Create("text-decoration-line-through", 8194), true) 522 , Tuple.Create(Tuple.Create(" ", 8222), Tuple.Create("opacity-75", 8223), true) 523 524 #line 139 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 525 , Tuple.Create(Tuple.Create(" ", 8233), Tuple.Create<System.Object, System.Int32>(order 526 527 #line default 528 #line hidden 529 , 8234), false) 530 ); 531 532 WriteLiteral(">\r\n\t\t\t\t\t\t\t<span"); 533 534 WriteLiteral(" class=\"text-price\""); 535 536 WriteLiteral(">"); 537 538 539 #line 140 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 540 Write(beforePrice); 541 542 543 #line default 544 #line hidden 545 WriteLiteral("</span>\r\n\t\t\t\t\t\t</span>\r\n"); 546 547 548 #line 142 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 549 } 550 } 551 } 552 553 554 #line default 555 #line hidden 556 WriteLiteral("\r\n"); 557 558 559 #line 146 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 560 561 562 #line default 563 #line hidden 564 565 #line 146 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 566 if (showPricesWithVat == "false" && !neverShowVat) 567 { 568 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 569 { 570 571 572 #line default 573 #line hidden 574 WriteLiteral("\t\t\t\t\t<span"); 575 576 WriteLiteral(" class=\"text-price js-text-price\""); 577 578 WriteLiteral(">\r\n\t\t\t\t\t\t<span"); 579 580 WriteLiteral(" class=\"spinner-border\""); 581 582 WriteLiteral(" role=\"status\""); 583 584 WriteLiteral("></span>\r\n\t\t\t\t\t</span>\r\n"); 585 586 587 #line 153 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 588 } 589 else 590 { 591 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithoutVatFormatted : product.Price.PriceWithoutVatFormatted; 592 593 if (product?.VariantInfo?.VariantInfo != null) 594 { 595 priceMin = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : ""; 596 priceMax = product?.VariantInfo?.PriceMax?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithoutVatFormatted : ""; 597 } 598 if (priceMin != priceMax) 599 { 600 price = priceMin + " - " + priceMax; 601 } 602 603 604 #line default 605 #line hidden 606 WriteLiteral("\t\t\t\t\t<span"); 607 608 WriteAttribute("class", Tuple.Create(" class=\"", 9237), Tuple.Create("\"", 9251) 609 610 #line 167 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 611 , Tuple.Create(Tuple.Create("", 9245), Tuple.Create<System.Object, System.Int32>(theme 612 613 #line default 614 #line hidden 615 , 9245), false) 616 ); 617 618 WriteLiteral(">"); 619 620 WriteLiteral("\r\n\t\t\t\t\t\t<span"); 621 622 WriteLiteral(" class=\"text-price\""); 623 624 WriteLiteral(">"); 625 626 627 #line 168 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 628 Write(price); 629 630 631 #line default 632 #line hidden 633 WriteLiteral("</span>\r\n\t\t\t\t\t</span>\r\n"); 634 635 636 #line 170 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 637 } 638 } 639 else 640 { 641 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 642 { 643 644 645 #line default 646 #line hidden 647 WriteLiteral("\t\t\t\t\t<span"); 648 649 WriteLiteral(" class=\"text-price js-text-price\""); 650 651 WriteLiteral(">\r\n\t\t\t\t\t\t<span"); 652 653 WriteLiteral(" class=\"spinner-border\""); 654 655 WriteLiteral(" role=\"status\""); 656 657 WriteLiteral("></span>\r\n\t\t\t\t\t</span>\r\n"); 658 659 660 #line 179 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 661 } 662 else 663 { 664 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceFormatted : product.Price.PriceFormatted; 665 666 if (product?.VariantInfo?.VariantInfo != null) 667 { 668 priceMin = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : ""; 669 priceMax = product?.VariantInfo?.PriceMax?.PriceFormatted != null ? product.VariantInfo.PriceMax.PriceFormatted : ""; 670 } 671 if (priceMin != priceMax) 672 { 673 price = priceMin + " - " + priceMax; 674 } 675 676 677 #line default 678 #line hidden 679 WriteLiteral("\t\t\t\t\t<span"); 680 681 WriteAttribute("class", Tuple.Create(" class=\"", 10135), Tuple.Create("\"", 10149) 682 683 #line 193 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 684 , Tuple.Create(Tuple.Create("", 10143), Tuple.Create<System.Object, System.Int32>(theme 685 686 #line default 687 #line hidden 688 , 10143), false) 689 ); 690 691 WriteLiteral(">"); 692 693 WriteLiteral("\r\n\t\t\t\t\t\t<span"); 694 695 WriteLiteral(" class=\"text-price\""); 696 697 WriteLiteral(">"); 698 699 700 #line 194 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 701 Write(price); 702 703 704 #line default 705 #line hidden 706 WriteLiteral("</span>\r\n\t\t\t\t\t</span>\r\n"); 707 708 709 #line 196 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 710 } 711 } 712 713 714 #line default 715 #line hidden 716 WriteLiteral("\r\n\t\t\t"); 717 718 WriteLiteral("\r\n"); 719 720 721 #line 200 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 722 723 724 #line default 725 #line hidden 726 727 #line 200 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 728 if (discountType == "icon-tooltip" && product.Price.Price != product.PriceBeforeDiscount.Price) 729 { 730 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 731 if (discountInfo != null) 732 { 733 if ((!string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) || !discountImagePath.ToLower().Contains("none")) && discountImagePath != string.Empty) 734 { 735 736 737 #line default 738 #line hidden 739 WriteLiteral("\t\t\t\t\t\t<span"); 740 741 WriteLiteral(" style=\"margin-left:-.75rem;\""); 742 743 WriteLiteral(" data-bs-toggle=\"tooltip\""); 744 745 WriteLiteral(" data-bs-custom-class=\""); 746 747 748 #line 207 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 749 Write(discountTheme); 750 751 752 #line default 753 #line hidden 754 WriteLiteral("\""); 755 756 WriteLiteral(" data-bs-html=\"true\""); 757 758 WriteLiteral(" data-bs-title=\""); 759 760 761 #line 207 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 762 Write(HtmlEncoder.HtmlAttributeEncode(string.Format(Translate("Tilbuddet g�lder {0} - {1}"), $"&zwnj;{discountInfo.ValidFromFormatted}&zwnj;", $"&zwnj;{discountInfo.ValidToFormatted}&zwnj;"))); 763 764 765 #line default 766 #line hidden 767 WriteLiteral("\""); 768 769 WriteLiteral(" data-bs-custom-prevent-event=\"click\""); 770 771 WriteLiteral(" data-bs-custom-click-close-delay=\"2000\""); 772 773 WriteLiteral(">\r\n"); 774 775 776 #line 208 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 777 778 779 #line default 780 #line hidden 781 782 #line 208 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 783 if (Path.GetExtension(discountImagePath).ToLower() == ".svg") 784 { 785 786 787 #line default 788 #line hidden 789 WriteLiteral("\t\t\t\t\t\t\t\t<span"); 790 791 WriteAttribute("class", Tuple.Create(" class=\"", 11227), Tuple.Create("\"", 11265) 792 , Tuple.Create(Tuple.Create("", 11235), Tuple.Create("icon-auto", 11235), true) 793 794 #line 210 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 795 , Tuple.Create(Tuple.Create(" ", 11244), Tuple.Create<System.Object, System.Int32>(discountIconColor 796 797 #line default 798 #line hidden 799 , 11245), false) 800 ); 801 802 WriteAttribute("style", Tuple.Create(" style=\"", 11266), Tuple.Create("\"", 11355) 803 , Tuple.Create(Tuple.Create("", 11274), Tuple.Create("vertical-align:text-top;height:", 11274), true) 804 805 #line 210 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 806 , Tuple.Create(Tuple.Create("", 11305), Tuple.Create<System.Object, System.Int32>(discountIconSize 807 808 #line default 809 #line hidden 810 , 11305), false) 811 , Tuple.Create(Tuple.Create("", 11324), Tuple.Create("px;width:", 11324), true) 812 813 #line 210 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 814 , Tuple.Create(Tuple.Create("", 11333), Tuple.Create<System.Object, System.Int32>(discountIconSize 815 816 #line default 817 #line hidden 818 , 11333), false) 819 , Tuple.Create(Tuple.Create("", 11352), Tuple.Create("px;", 11352), true) 820 ); 821 822 WriteLiteral(">"); 823 824 825 #line 210 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 826 Write(ReadFile(discountImagePath)); 827 828 829 #line default 830 #line hidden 831 WriteLiteral("</span>\r\n"); 832 833 834 #line 211 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 835 } 836 else 837 { 838 839 840 #line default 841 #line hidden 842 WriteLiteral("\t\t\t\t\t\t\t\t<img"); 843 844 WriteLiteral(" loading=\"lazy\""); 845 846 WriteAttribute("src", Tuple.Create(" src=\"", 11454), Tuple.Create("\"", 11480) 847 848 #line 214 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 849 , Tuple.Create(Tuple.Create("", 11460), Tuple.Create<System.Object, System.Int32>(discountImagePath 850 851 #line default 852 #line hidden 853 , 11460), false) 854 ); 855 856 WriteAttribute("alt", Tuple.Create(" alt=\"", 11481), Tuple.Create("\"", 11539) 857 858 #line 214 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 859 , Tuple.Create(Tuple.Create("", 11487), Tuple.Create<System.Object, System.Int32>(HtmlEncoder.HtmlAttributeEncode(discountImgAltText) 860 861 #line default 862 #line hidden 863 , 11487), false) 864 ); 865 866 WriteAttribute("title", Tuple.Create(" title=\"", 11540), Tuple.Create("\"", 11600) 867 868 #line 214 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 869 , Tuple.Create(Tuple.Create("", 11548), Tuple.Create<System.Object, System.Int32>(HtmlEncoder.HtmlAttributeEncode(discountImgAltText) 870 871 #line default 872 #line hidden 873 , 11548), false) 874 ); 875 876 WriteAttribute("style", Tuple.Create(" style=\"", 11601), Tuple.Create("\"", 11666) 877 , Tuple.Create(Tuple.Create("", 11609), Tuple.Create("height:", 11609), true) 878 879 #line 214 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 880 , Tuple.Create(Tuple.Create("", 11616), Tuple.Create<System.Object, System.Int32>(discountIconSize 881 882 #line default 883 #line hidden 884 , 11616), false) 885 , Tuple.Create(Tuple.Create("", 11635), Tuple.Create("px;width:", 11635), true) 886 887 #line 214 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 888 , Tuple.Create(Tuple.Create("", 11644), Tuple.Create<System.Object, System.Int32>(discountIconSize 889 890 #line default 891 #line hidden 892 , 11644), false) 893 , Tuple.Create(Tuple.Create("", 11663), Tuple.Create("px;", 11663), true) 894 ); 895 896 WriteLiteral(">\r\n"); 897 898 899 #line 215 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 900 } 901 902 903 #line default 904 #line hidden 905 WriteLiteral("\t\t\t\t\t\t</span>\r\n"); 906 907 908 #line 217 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 909 } 910 } 911 } 912 913 914 #line default 915 #line hidden 916 917 #line 220 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 918 919 920 921 922 #line default 923 #line hidden 924 925 #line 222 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 926 927 928 929 #line default 930 #line hidden 931 WriteLiteral("\t\t\t"); 932 933 934 #line 223 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 935 936 Uri url = Dynamicweb.Context.Current.Request.Url; 937 938 939 #line default 940 #line hidden 941 WriteLiteral("\r\n\r\n\t\t\t<link"); 942 943 WriteLiteral(" itemprop=\"url\""); 944 945 WriteAttribute("href", Tuple.Create(" href=\"", 11874), Tuple.Create("\"", 11885) 946 947 #line 227 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 948 , Tuple.Create(Tuple.Create("", 11881), Tuple.Create<System.Object, System.Int32>(url 949 950 #line default 951 #line hidden 952 , 11881), false) 953 ); 954 955 WriteLiteral(">\r\n\r\n"); 956 957 958 #line 229 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 959 960 961 #line default 962 #line hidden 963 964 #line 229 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 965 966 bool IsNeverOutOfStock = product.NeverOutOfstock; 967 968 969 #line default 970 #line hidden 971 WriteLiteral("\r\n\r\n"); 972 973 974 #line 233 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 975 976 977 #line default 978 #line hidden 979 980 #line 233 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 981 if (IsNeverOutOfStock) 982 { 983 984 985 #line default 986 #line hidden 987 WriteLiteral("\t\t\t\t<span"); 988 989 WriteLiteral(" itemprop=\"availability\""); 990 991 WriteLiteral(" class=\"d-none\""); 992 993 WriteLiteral(">"); 994 995 996 #line 235 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 997 Write(Translate("Available in stock")); 998 999 1000 #line default 1001 #line hidden 1002 WriteLiteral("</span>\r\n"); 1003 1004 1005 #line 236 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1006 } 1007 else 1008 { 1009 if (product.StockLevel > 0) 1010 { 1011 1012 1013 #line default 1014 #line hidden 1015 WriteLiteral("\t\t\t\t\t<span"); 1016 1017 WriteLiteral(" itemprop=\"availability\""); 1018 1019 WriteLiteral(" class=\"d-none\""); 1020 1021 WriteLiteral(">InStock</span>\r\n"); 1022 1023 1024 #line 242 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1025 } 1026 else 1027 { 1028 1029 1030 #line default 1031 #line hidden 1032 WriteLiteral("\t\t\t\t\t<span"); 1033 1034 WriteLiteral(" itemprop=\"availability\""); 1035 1036 WriteLiteral(" class=\"d-none\""); 1037 1038 WriteLiteral(">OutOfStock</span>\r\n"); 1039 1040 1041 #line 246 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1042 } 1043 } 1044 1045 1046 #line default 1047 #line hidden 1048 WriteLiteral("\t\t\t"); 1049 1050 WriteLiteral("\r\n\r\n\t\t</div>\r\n\r\n"); 1051 1052 1053 #line 252 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1054 1055 1056 #line default 1057 #line hidden 1058 1059 #line 252 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1060 if (showPricesWithVat == "false" && !neverShowVat) 1061 { 1062 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 1063 { 1064 1065 1066 #line default 1067 #line hidden 1068 WriteLiteral("\t\t\t\t<small"); 1069 1070 WriteLiteral(" class=\"opacity-85 fst-normal js-text-price-with-vat d-none\""); 1071 1072 WriteLiteral(" data-suffix=\""); 1073 1074 1075 #line 256 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1076 Write(Translate("Incl. VAT")); 1077 1078 1079 #line default 1080 #line hidden 1081 WriteLiteral("\""); 1082 1083 WriteLiteral("></small>\r\n"); 1084 1085 1086 #line 257 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1087 } 1088 else 1089 { 1090 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithVatFormatted : product.Price.PriceWithVatFormatted; 1091 1092 if (product?.VariantInfo?.VariantInfo != null) 1093 { 1094 priceMin = product?.VariantInfo?.PriceMin?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithVatFormatted : ""; 1095 priceMax = product?.VariantInfo?.PriceMax?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithVatFormatted : ""; 1096 } 1097 if (priceMin != priceMax) 1098 { 1099 price = priceMin + " - " + priceMax; 1100 } 1101 1102 1103 #line default 1104 #line hidden 1105 WriteLiteral("\t\t\t\t<small"); 1106 1107 WriteLiteral(" class=\"opacity-85 fst-normal\""); 1108 1109 WriteLiteral(">"); 1110 1111 1112 #line 271 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1113 Write(price); 1114 1115 1116 #line default 1117 #line hidden 1118 WriteLiteral(" "); 1119 1120 1121 #line 271 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1122 Write(Translate("Incl. VAT")); 1123 1124 1125 #line default 1126 #line hidden 1127 WriteLiteral("</small>\r\n"); 1128 1129 1130 #line 272 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1131 } 1132 } 1133 1134 1135 1136 #line default 1137 #line hidden 1138 1139 #line 275 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1140 1141 1142 1143 #line default 1144 #line hidden 1145 WriteLiteral("\t\t"); 1146 1147 1148 #line 276 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1149 if (discountType == "inline" && product.Price.Price != product.PriceBeforeDiscount.Price) 1150 { 1151 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 1152 var discountFontSize = priceFontSize.Contains("h6") ? priceFontSize.Replace("h6", "small") : "small"; 1153 1154 1155 1156 #line default 1157 #line hidden 1158 WriteLiteral("\t\t\t<div"); 1159 1160 WriteAttribute("class", Tuple.Create(" class=\"", 13704), Tuple.Create("\"", 13789) 1161 1162 #line 281 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1163 , Tuple.Create(Tuple.Create("", 13712), Tuple.Create<System.Object, System.Int32>(discountFontSize 1164 1165 #line default 1166 #line hidden 1167 , 13712), false) 1168 , Tuple.Create(Tuple.Create(" ", 13731), Tuple.Create("mt-1", 13732), true) 1169 , Tuple.Create(Tuple.Create(" ", 13736), Tuple.Create("d-flex", 13737), true) 1170 , Tuple.Create(Tuple.Create(" ", 13743), Tuple.Create("flex-wrap", 13744), true) 1171 1172 #line 281 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1173 , Tuple.Create(Tuple.Create(" ", 13753), Tuple.Create<System.Object, System.Int32>(flexDirection 1174 1175 #line default 1176 #line hidden 1177 , 13754), false) 1178 1179 #line 281 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1180 , Tuple.Create(Tuple.Create(" ", 13770), Tuple.Create<System.Object, System.Int32>(horizontalAlign 1181 1182 #line default 1183 #line hidden 1184 , 13771), false) 1185 ); 1186 1187 WriteLiteral(">\r\n"); 1188 1189 WriteLiteral("\t\t\t\t"); 1190 1191 1192 #line 282 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1193 Write(string.Format(Translate("Tilbuddet g�lder {0} - {1}"), $"&zwnj;{discountInfo.ValidFromFormatted}&zwnj;" , $"&zwnj;{discountInfo.ValidToFormatted}&zwnj;")); 1194 1195 1196 #line default 1197 #line hidden 1198 WriteLiteral("\r\n\t\t\t</div>\r\n"); 1199 1200 1201 #line 284 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1202 } 1203 1204 1205 #line default 1206 #line hidden 1207 1208 #line 285 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1209 1210 1211 1212 #line default 1213 #line hidden 1214 WriteLiteral("\r\n\t</div>\r\n"); 1215 1216 1217 #line 288 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1218 } 1219 else if (Pageview.IsVisualEditorMode) 1220 { 1221 1222 1223 #line default 1224 #line hidden 1225 WriteLiteral("\t<div"); 1226 1227 WriteLiteral(" class=\"alert alert-dark m-0\""); 1228 1229 WriteLiteral(" role=\"alert\""); 1230 1231 WriteLiteral(">\r\n\t\t<span>"); 1232 1233 1234 #line 292 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1235 Write(Translate("No products available")); 1236 1237 1238 #line default 1239 #line hidden 1240 WriteLiteral("</span>\r\n\t</div>\r\n"); 1241 1242 1243 #line 294 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductPrice_Custom.cshtml" 1244 } 1245 1246 1247 #line default 1248 #line hidden 1249 } 1250 } 1251 } 1252

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Core.Encoders @*//CUSTOM*@ 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 @using System.Globalization 5 @using System.IO @*//CUSTOM*@ 6 7 @* CUSTOMIZED STANDARD SWIFT (v1.25.0) TEMPLATE *@ 8 9 @{ 10 ProductViewModel product = null; 11 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 12 { 13 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 14 } 15 else if (Pageview.Page.Item["DummyProduct"] != null && Pageview.IsVisualEditorMode) 16 { 17 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 18 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 19 20 if (productList?.Products is object) 21 { 22 product = productList.Products[0]; 23 } 24 } 25 26 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 27 bool anonymousUser = Pageview.User == null; 28 bool isErpConnectionDown = !Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsWebServiceConnectionAvailable"]); 29 bool hidePrice = anonymousUsersLimitations.Contains("price") && anonymousUser || Pageview.AreaSettings.GetBoolean("ErpDownHidePrices") && isErpConnectionDown; 30 31 bool productIsDiscontinued = product is object && product.Discontinued; 32 bool doNotShowPriceIfProductIsDiscontinued = Model.Item.GetBoolean("DoNotShowPriceIfProductIsDiscontinued"); 33 var isDiscontinued = productIsDiscontinued && doNotShowPriceIfProductIsDiscontinued; 34 } 35 36 @if (product is object && !hidePrice && !isDiscontinued) { 37 bool showInformativePrice = Model.Item.GetBoolean("ShowInformativePrice"); 38 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("UnitId")) ? Dynamicweb.Context.Current.Request.Form.Get("UnitId") : string.Empty; 39 40 string priceFontSize = Model.Item.GetRawValueString("PriceSize", "h6 justify-content-center justify-content-lg-start"); //CUSTOM 41 string horizontalAlign = Model.Item.GetRawValueString("HorizontalAlignment", ""); 42 string layout = Model.Item.GetRawValueString("Layout", "horizontal"); 43 string textAlign = horizontalAlign == "center" ? "text-center" : string.Empty; 44 textAlign = horizontalAlign == "end" ? "text-end" : textAlign; 45 46 horizontalAlign = horizontalAlign == "center" && layout == "horizontal" ? "justify-content-center" : horizontalAlign; 47 horizontalAlign = horizontalAlign == "end" && layout == "horizontal" ? "justify-content-end" : horizontalAlign; 48 horizontalAlign = horizontalAlign == "center" && layout == "vertical" ? "align-items-center" : horizontalAlign; 49 horizontalAlign = horizontalAlign == "end" && layout == "vertical" ? "align-items-end" : horizontalAlign; 50 51 string flexDirection = layout == "horizontal" ? string.Empty : "flex-column"; 52 string flexGap = layout == "horizontal" ? "gap-3" : string.Empty; 53 string order = layout == "horizontal" ? string.Empty : "order-2"; 54 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? "theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 55 theme = GetViewParameter("theme") != null ? GetViewParameterString("theme") : theme; 56 57 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 58 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 59 contentPadding = contentPadding == "small" ? "p-1 px-md-2 py-md-1" : contentPadding; 60 contentPadding = contentPadding == "large" ? "p-2 px-md-3 py-md-2" : contentPadding; 61 62 //CUSTOM 63 string discountType = Model.Item.GetRawValueString("Custom_DiscountType", "none"); 64 string discountTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Custom_DiscountTheme")) ? "theme " + Model.Item.GetRawValueString("Custom_DiscountTheme").Replace(" ", "").Trim().ToLower() : string.Empty; 65 string discountIconColor = Model.Item.GetString("Custom_DiscountIconColor", "text-inherit"); 66 string discountIconSize = Model.Item.GetRawValueString("Custom_DiscountIconSize", "2"); 67 string discountImageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) ? Model.Item.GetFile("Custom_DiscountImage").Path : string.Empty; 68 string discountImagePath = discountImageSrc != string.Empty ? discountImageSrc : Model.Item.GetRawValueString("Custom_DiscountIcon", string.Empty); 69 discountImagePath = Path.GetExtension(discountImagePath).ToLower() != ".svg" ? "/Admin/Public/GetImage.ashx?image=" + discountImagePath + "&height=" + discountIconSize + "&width=" + discountIconSize + "&Crop=0&format=webp" : discountImagePath; 70 string discountImgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 71 //--CUSTOM 72 73 string showPricesWithVat = Pageview.Area.EcomPricesWithVat.ToLower(); 74 bool neverShowVat = string.IsNullOrEmpty(showPricesWithVat); 75 76 string priceMin = ""; 77 string priceMax = ""; 78 79 string liveInfoClass = ""; 80 string productInfoFeed = ""; 81 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsLazyLoadingForProductInfoEnabled"]); 82 if (isLazyLoadingForProductInfoEnabled) 83 { 84 if (Dynamicweb.Context.Current.Items.Contains("ProductInfoFeed")) 85 { 86 productInfoFeed = Dynamicweb.Context.Current.Items["ProductInfoFeed"]?.ToString(); 87 if (!string.IsNullOrEmpty(productInfoFeed)) 88 { 89 productInfoFeed = $"data-product-info-feed=\"{productInfoFeed}\""; 90 } 91 } 92 liveInfoClass = "js-live-info"; 93 } 94 95 <div class="@textAlign @liveInfoClass item_@Model.Item.SystemName.ToLower()" data-product-id="@product.Id" data-variant-id="@product.VariantId" @productInfoFeed> 96 @if (showInformativePrice && product.PriceInformative.Price != 0) 97 { 98 <div class="opacity-50"> 99 <span>@Translate("RRP") </span> 100 <span class="text-decoration-line-through text-price">@product.PriceInformative.PriceFormatted</span> 101 </div> 102 } 103 <div class="@priceFontSize m-0 d-flex flex-wrap @flexDirection @flexGap @horizontalAlign" style="row-gap: 0 !important" itemprop="offers" itemscope itemtype="https://schema.org/Offer"> 104 <span itemprop="priceCurrency" content="@product.Price.CurrencyCode" class="d-none"></span> 105 106 @if (showPricesWithVat == "false" && !neverShowVat) 107 { 108 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 109 { 110 <span itemprop="price" content="" class="d-none"></span> 111 <span class="text-decoration-line-through js-text-decoration-line-through opacity-75 me-3 text-price js-text-price d-none" data-show-if="LiveProductInfo.product.Price.Price != LiveProductInfo.product.PriceBeforeDiscount.Price"></span> 112 } 113 else 114 { 115 string beforePrice = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).PriceBeforeDiscount.PriceWithoutVatFormatted : product.PriceBeforeDiscount.PriceWithoutVatFormatted; 116 117 <span itemprop="price" content="@product.Price.PriceWithoutVat.ToString(CultureInfo.InvariantCulture)" class="d-none"></span>@*//CUSTOM*@ 118 if (product.Price.Price != product.PriceBeforeDiscount.Price) 119 { 120 <span class="text-decoration-line-through opacity-75 @order">@beforePrice</span> 121 } 122 } 123 } 124 else 125 { 126 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 127 { 128 <span itemprop="price" content="" class="d-none"></span> 129 <span class="text-decoration-line-through js-text-decoration-line-through opacity-75 me-3 text-price js-text-price d-none" data-show-if="LiveProductInfo.product.Price.Price < LiveProductInfo.product.PriceBeforeDiscount.Price"></span>@*//CUSTOM*@ 130 } 131 else 132 { 133 string beforePrice = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).PriceBeforeDiscount.PriceFormatted : product.PriceBeforeDiscount.PriceFormatted; 134 135 <span itemprop="price" content="@product.Price.Price.ToString(CultureInfo.InvariantCulture)" class="d-none"></span>@*//CUSTOM*@ 136 137 if (product.Price.Price < product.PriceBeforeDiscount.Price) 138 { 139 <span class="text-decoration-line-through opacity-75 @order"> 140 <span class="text-price">@beforePrice</span> 141 </span> 142 } 143 } 144 } 145 146 @if (showPricesWithVat == "false" && !neverShowVat) 147 { 148 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 149 { 150 <span class="text-price js-text-price"> 151 <span class="spinner-border" role="status"></span> 152 </span> 153 } 154 else 155 { 156 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithoutVatFormatted : product.Price.PriceWithoutVatFormatted; 157 158 if (product?.VariantInfo?.VariantInfo != null) 159 { 160 priceMin = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : ""; 161 priceMax = product?.VariantInfo?.PriceMax?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithoutVatFormatted : ""; 162 } 163 if (priceMin != priceMax) 164 { 165 price = priceMin + " - " + priceMax; 166 } 167 <span class="@theme">@*//CUSTOM*@ 168 <span class="text-price">@price</span> 169 </span> 170 } 171 } 172 else 173 { 174 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 175 { 176 <span class="text-price js-text-price"> 177 <span class="spinner-border" role="status"></span> 178 </span> 179 } 180 else 181 { 182 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceFormatted : product.Price.PriceFormatted; 183 184 if (product?.VariantInfo?.VariantInfo != null) 185 { 186 priceMin = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : ""; 187 priceMax = product?.VariantInfo?.PriceMax?.PriceFormatted != null ? product.VariantInfo.PriceMax.PriceFormatted : ""; 188 } 189 if (priceMin != priceMax) 190 { 191 price = priceMin + " - " + priceMax; 192 } 193 <span class="@theme">@*//CUSTOM*@ 194 <span class="text-price">@price</span> 195 </span> 196 } 197 } 198 199 @*//CUSTOM*@ 200 @if (discountType == "icon-tooltip" && product.Price.Price != product.PriceBeforeDiscount.Price) 201 { 202 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 203 if (discountInfo != null) 204 { 205 if ((!string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) || !discountImagePath.ToLower().Contains("none")) && discountImagePath != string.Empty) 206 { 207 <span style="margin-left:-.75rem;" data-bs-toggle="tooltip" data-bs-custom-class="@(discountTheme)" data-bs-html="true" data-bs-title="@HtmlEncoder.HtmlAttributeEncode(string.Format(Translate("Tilbuddet g�lder {0} - {1}"), $"&zwnj;{discountInfo.ValidFromFormatted}&zwnj;", $"&zwnj;{discountInfo.ValidToFormatted}&zwnj;"))" data-bs-custom-prevent-event="click" data-bs-custom-click-close-delay="2000"> 208 @if (Path.GetExtension(discountImagePath).ToLower() == ".svg") 209 { 210 <span class="icon-auto @(discountIconColor)" style="vertical-align:text-top;height:@(discountIconSize)px;width:@(discountIconSize)px;">@ReadFile(discountImagePath)</span> 211 } 212 else 213 { 214 <img loading="lazy" src="@(discountImagePath)" alt="@HtmlEncoder.HtmlAttributeEncode(discountImgAltText)" title="@HtmlEncoder.HtmlAttributeEncode(discountImgAltText)" style="height:@(discountIconSize)px;width:@(discountIconSize)px;"> 215 } 216 </span> 217 } 218 } 219 } 220 @*//--CUSTOM*@ 221 222 @* Stock state for Schema.org, start *@ 223 @{ 224 Uri url = Dynamicweb.Context.Current.Request.Url; 225 } 226 227 <link itemprop="url" href="@url"> 228 229 @{ 230 bool IsNeverOutOfStock = product.NeverOutOfstock; 231 } 232 233 @if (IsNeverOutOfStock) 234 { 235 <span itemprop="availability" class="d-none">@Translate("Available in stock")</span> 236 } 237 else 238 { 239 if (product.StockLevel > 0) 240 { 241 <span itemprop="availability" class="d-none">InStock</span> 242 } 243 else 244 { 245 <span itemprop="availability" class="d-none">OutOfStock</span> 246 } 247 } 248 @* Stock state for Schema.org, stop *@ 249 250 </div> 251 252 @if (showPricesWithVat == "false" && !neverShowVat) 253 { 254 if (isLazyLoadingForProductInfoEnabled && !Pageview.IsVisualEditorMode) 255 { 256 <small class="opacity-85 fst-normal js-text-price-with-vat d-none" data-suffix="@Translate("Incl. VAT")"></small> 257 } 258 else 259 { 260 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithVatFormatted : product.Price.PriceWithVatFormatted; 261 262 if (product?.VariantInfo?.VariantInfo != null) 263 { 264 priceMin = product?.VariantInfo?.PriceMin?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithVatFormatted : ""; 265 priceMax = product?.VariantInfo?.PriceMax?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithVatFormatted : ""; 266 } 267 if (priceMin != priceMax) 268 { 269 price = priceMin + " - " + priceMax; 270 } 271 <small class="opacity-85 fst-normal">@price @Translate("Incl. VAT")</small> 272 } 273 } 274 275 @*//CUSTOM*@ 276 @if (discountType == "inline" && product.Price.Price != product.PriceBeforeDiscount.Price) 277 { 278 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 279 var discountFontSize = priceFontSize.Contains("h6") ? priceFontSize.Replace("h6", "small") : "small"; 280 281 <div class="@(discountFontSize) mt-1 d-flex flex-wrap @(flexDirection) @(horizontalAlign)"> 282 @string.Format(Translate("Tilbuddet g�lder {0} - {1}"), $"&zwnj;{discountInfo.ValidFromFormatted}&zwnj;" , $"&zwnj;{discountInfo.ValidToFormatted}&zwnj;") 283 </div> 284 } 285 @*//--CUSTOM*@ 286 287 </div> 288 } 289 else if (Pageview.IsVisualEditorMode) 290 { 291 <div class="alert alert-dark m-0" role="alert"> 292 <span>@Translate("No products available")</span> 293 </div> 294 } 295
  • Livraison à partir de 5 euros
  • Délai de livraison: 2-5 jours ouvrés

Hauteur (cm) 0
Largeur (cm) 0
Profondeur (cm) 0
Masse (kg) 0
Designer Tools Design
Brand Eva Solo
Numéro d'article 567637
EAN 5706631004398

Livraison offerte pour toute commande de 89 € ou plus

Votre commande est expédiée un ou deux jours ouvrables après avoir été passée. Vous recevez les informations de suivi dès que votre commande quitte notre entrepôt. Le délai de livraison dépend du pays de destination.

Les frais de livraison dépendent du pays de destination et de la méthode d'expédition, que vous sélectionnez lors du paiement.

Contenu connexe

#EVASOLO COMMUNITY

@evasolo_official | #evasolo | #evatrio | #evasolofurniture