Verres à eau

Verres à eau

16 des produits

En soldes

Volume (litre)

Matériel

Error compiling template "/Designs/Swift/Paragraph/Swift_ProductListGridView_Custom.cshtml"
Line 1233: 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 1524: 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 15 #line 4 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 16 using System.Linq; 17 18 #line default 19 #line hidden 20 21 #line 2 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 22 using Dynamicweb.Ecommerce.ProductCatalog; 23 24 #line default 25 #line hidden 26 27 #line 3 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 28 using Dynamicweb.Ecommerce.CustomerExperienceCenter.Favorites; 29 30 #line default 31 #line hidden 32 33 #line 5 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 34 using System.IO; 35 36 #line default 37 #line hidden 38 39 #line 6 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 40 using Dynamicweb.Core; 41 42 #line default 43 #line hidden 44 45 #line 7 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 46 using Dynamicweb.Core.Encoders; 47 48 #line default 49 #line hidden 50 51 #line 8 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 52 using Dynamicweb.Environment; 53 54 #line default 55 #line hidden 56 57 #line 9 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 58 using System.Globalization; 59 60 #line default 61 #line hidden 62 63 64 public class RazorEngine_f93cb852c3a54181bba03e448592ce4b : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> { 65 66 #line hidden 67 68 #line 14 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 69 70 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsLazyLoadingForProductInfoEnabled"]); 71 string liveInfoClass = ""; 72 string productInfoFeed = ""; 73 74 string showPricesWithVat = ""; 75 bool neverShowVat = false; 76 77 bool isDetailPage = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("ProductID")); 78 79 ProductListViewModel productList = new ProductListViewModel(); 80 81 #line default 82 #line hidden 83 84 85 #line 69 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 86 public RazorEngine.Templating.TemplateWriter RenderProductList() 87 { 88 #line default 89 #line hidden 90 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 91 92 #line 70 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 93 94 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 95 bool anonymousUser = Pageview.User == null; 96 bool hidePrice = anonymousUsersLimitations.Contains("price") && anonymousUser || Pageview.AreaSettings.GetBoolean("ErpDownHidePrices") && !Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsWebServiceConnectionAvailable"]); 97 98 string productTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("ProductTheme")) ? " theme " + Model.Item.GetRawValueString("ProductTheme").Replace(" ", "").Trim().ToLower() : ""; 99 string productThemePadding = productTheme != string.Empty ? "p-3" : string.Empty; 100 101 string url = Dynamicweb.Context.Current.Request.RawUrl; 102 bool hideFavoritesSelector = !string.IsNullOrEmpty(Model.Item.GetString("HideFavoritesSelector")) ? Model.Item.GetBoolean("HideFavoritesSelector") : false; 103 string staticVariantsLayout = Model.Item.GetRawValueString("StaticVariantsLayout", "hide"); 104 105 string groupId = productList?.Group?.Id != null ? productList.Group.Id : ""; 106 107 var badgeParms = new Dictionary<string, object>(); 108 badgeParms.Add("saleBadgeType", Model.Item.GetRawValue("SaleBadgeType")); 109 badgeParms.Add("saleBadgeCssClassName", Model.Item.GetRawValue("SaleBadgeDesign")); 110 badgeParms.Add("newBadgeCssClassName", Model.Item.GetRawValue("NewBadgeDesign")); 111 badgeParms.Add("newPublicationDays", Model.Item.GetInt32("NewPublicationDays")); 112 badgeParms.Add("campaignBadgesValues", Model.Item.GetRawValueString("CampaignBadges")); 113 114 bool saleBadgeEnabled = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("SaleBadgeDesign")) && Model.Item.GetRawValueString("SaleBadgeDesign") != "none" ? true : false; 115 bool newBadgeEnabled = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("NewBadgeDesign")) && Model.Item.GetRawValueString("NewBadgeDesign") != "none" ? true : false; 116 117 string googleTagManagerID = Pageview.AreaSettings.GetString("GoogleTagManagerID"); 118 string googleAnalyticsMeasurementID = Pageview.AreaSettings.GetString("GoogleAnalyticsMeasurementID"); 119 var cookieOptInLevel = CookieManager.GetCookieOptInLevel(); 120 bool allowTracking = cookieOptInLevel == CookieOptInLevel.All || (cookieOptInLevel == CookieOptInLevel.Functional && CookieManager.GetCookieOptInCategories().Contains("Statistical")); 121 122 var favoriteParameters = new Dictionary<string, object>(); 123 if (!anonymousUser && !hideFavoritesSelector) 124 { 125 int defaultFavoriteListId = 0; 126 127 IEnumerable<FavoriteList> favoreiteLists = Pageview.User.GetFavoriteLists(); 128 if (favoreiteLists.Count() == 1) 129 { 130 foreach (FavoriteList list in favoreiteLists) 131 { 132 defaultFavoriteListId = list.ListId; 133 } 134 } 135 136 favoriteParameters.Add("ListId", defaultFavoriteListId); 137 } 138 139 // CUSTOM: hide "require carrier" area setting 140 bool hideRequireCarrierOnProductlist = Converter.ToBoolean(Pageview.AreaSettings.GetItem("CustomSettings").GetRawValueString("HideRequiresCarrierOnProductList_Custom", "False")); 141 142 //CUSTOM 143 string discountType = Model.Item.GetRawValueString("Custom_DiscountType", "none"); 144 string discountTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Custom_DiscountTheme")) ? "theme " + Model.Item.GetRawValueString("Custom_DiscountTheme").Replace(" ", "").Trim().ToLower() : string.Empty; 145 string discountIconColor = Model.Item.GetString("Custom_DiscountIconColor", "text-inherit"); 146 string discountIconSize = Model.Item.GetRawValueString("Custom_DiscountIconSize", "2"); 147 string discountImageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) ? Model.Item.GetFile("Custom_DiscountImage").Path : string.Empty; 148 string discountImagePath = discountImageSrc != string.Empty ? discountImageSrc : Model.Item.GetRawValueString("Custom_DiscountIcon", string.Empty); 149 discountImagePath = Path.GetExtension(discountImagePath).ToLower() != ".svg" ? "/Admin/Public/GetImage.ashx?image=" + discountImagePath + "&height=" + discountIconSize + "&width=" + discountIconSize + "&Crop=0&format=webp" : discountImagePath; 150 string discountImgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 151 //--CUSTOM 152 153 if (productList.TotalProductsCount > 0) 154 { 155 int pageSizeSetting = 30; 156 int pageSize = productList.PageSize; 157 pageSize += pageSizeSetting; 158 159 int loadedProducts = productList.PageSize > productList.TotalProductsCount ? productList.TotalProductsCount : productList.PageSize; 160 161 162 163 #line default 164 #line hidden 165 WriteLiteralTo(__razor_helper_writer, "\t\t<div"); 166 167 WriteLiteralTo(__razor_helper_writer, " class=\"grid grid-2 grid-lg-3\""); 168 169 WriteLiteralTo(__razor_helper_writer, ">\r\n\r\n"); 170 171 172 #line 140 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 173 174 175 #line default 176 #line hidden 177 178 #line 140 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 179 if ((!string.IsNullOrWhiteSpace(googleAnalyticsMeasurementID) || !string.IsNullOrWhiteSpace(googleTagManagerID))) 180 { 181 182 183 #line default 184 #line hidden 185 WriteLiteralTo(__razor_helper_writer, @" <script> 186 window.addEventListener('CookieInformationConsentGiven', function (event) { 187 if (CookieInformation.getConsentGivenFor('cookie_cat_necessary')) { 188 gtag(""event"", ""view_item_list"", { 189 item_list_id: ""product_list_gridview"", 190 item_list_name: ""Product list (Gridview)"", 191 items: [ 192 "); 193 194 195 #line 149 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 196 197 198 #line default 199 #line hidden 200 201 #line 149 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 202 foreach (ProductViewModel product in productList.Products) 203 { 204 205 206 #line default 207 #line hidden 208 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t"); 209 210 WriteLiteralTo(__razor_helper_writer, "{\r\n\t\t\t\t\t\t\t\t\titem_id: \""); 211 212 213 #line 152 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 214 WriteTo(__razor_helper_writer, product.Number); 215 216 217 #line default 218 #line hidden 219 WriteLiteralTo(__razor_helper_writer, "\",\r\n\t\t\t\t\t\t\t\t\titem_name: \""); 220 221 222 #line 153 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 223 WriteTo(__razor_helper_writer, Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.Name)); 224 225 226 #line default 227 #line hidden 228 WriteLiteralTo(__razor_helper_writer, "\",\r\n\t\t\t\t\t\t\t\t\tcurrency: \""); 229 230 231 #line 154 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 232 WriteTo(__razor_helper_writer, product.Price.CurrencyCode); 233 234 235 #line default 236 #line hidden 237 WriteLiteralTo(__razor_helper_writer, "\",\r\n\t\t\t\t\t\t\t\t\tprice: "); 238 239 240 #line 155 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 241 WriteTo(__razor_helper_writer, PriceViewModelExtensions.ToStringInvariant(product.Price)); 242 243 244 #line default 245 #line hidden 246 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t},"); 247 248 WriteLiteralTo(__razor_helper_writer, "\r\n"); 249 250 251 #line 157 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 252 } 253 254 255 #line default 256 #line hidden 257 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t]\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n \t\t }, false);\r\n\t\t\t\t</script>\r\n"); 258 259 260 #line 163 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 261 } 262 263 264 #line default 265 #line hidden 266 WriteLiteralTo(__razor_helper_writer, "\r\n"); 267 268 269 #line 165 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 270 271 272 #line default 273 #line hidden 274 275 #line 165 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 276 foreach (ProductViewModel product in productList.Products) 277 { 278 string link = product.GetProductLink(GetPageIdByNavigationTag("Shop"), false); 279 280 string imagePath = product?.DefaultImage?.Value ?? ""; 281 imagePath = Dynamicweb.Context.Current.Server.UrlEncode(imagePath); 282 283 string ratio = Model.Item.GetRawValueString("ImageAspectRatio", ""); 284 ratio = ratio != "0" ? ratio : ""; 285 string ratioCssClass = ratio != "" ? " ratio" : ""; 286 string ratioVariable = ratio != "" ? "--bs-aspect-ratio: " + ratio : ""; 287 288 string imagePathXs = "/Admin/Public/GetImage.ashx?width=" + 480 + "&image=" + imagePath + "&format=webp"; 289 string imagePathS = "/Admin/Public/GetImage.ashx?width=" + 640 + "&image=" + imagePath + "&format=webp"; 290 string imagePathFallBack = "/Admin/Public/GetImage.ashx?width=" + 640 + "&image=" + imagePath + "&format=webp"; 291 292 string imageTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("ImageTheme")) ? " theme " + Model.Item.GetRawValueString("ImageTheme").Replace(" ", "").Trim().ToLower() : ""; 293 string imageThemePadding = imageTheme != string.Empty ? "p-3" : string.Empty; 294 string imageOutlineStyle = imageTheme == string.Empty ? "style=\"border: 1px solid transparent\"" : string.Empty; 295 296 string imageId = "ProductImage_" + product.Id + product.VariantId; 297 string priceId = "ProductPrice_" + product.Id + product.VariantId; 298 299 300 301 #line default 302 #line hidden 303 304 #line 188 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 305 306 var supportedImageFormats = new string[] { ".jpg", ".webp", ".png", ".gif" }; 307 string defaultImage = product.DefaultImage != null ? product.DefaultImage.Value : ""; 308 var selectedAssetCategories = Model.Item.GetRawValueString("AlternativeImageAssets"); 309 IEnumerable<MediaViewModel> alternativeImagesList = product.AssetCategories.Where(x => selectedAssetCategories.Contains(x.SystemName)).SelectMany(x => x.Assets); 310 311 if (alternativeImagesList.FirstOrDefault() != null) 312 { 313 alternativeImagesList = alternativeImagesList.OrderByDescending(x => x.Value.Equals(defaultImage)); 314 315 if (alternativeImagesList.First().Value == defaultImage) 316 { 317 alternativeImagesList = alternativeImagesList.Skip(1); 318 } 319 } 320 321 string alternativeImage = alternativeImagesList.FirstOrDefault() != null ? alternativeImagesList.FirstOrDefault().Value : ""; 322 alternativeImage = !string.IsNullOrEmpty(alternativeImage) ? "/Admin/Public/GetImage.ashx?width=" + 640 + "&image=" + alternativeImage + "&format=webp" : ""; 323 324 325 326 #line default 327 #line hidden 328 329 #line 207 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 330 331 DateTime createdDate = product.Created.Value; 332 bool showBadges = saleBadgeEnabled && product.Discount.Price != 0 ? true : false; 333 showBadges = (newBadgeEnabled && Model.Item.GetInt32("NewPublicationDays") == 0) || (newBadgeEnabled && (createdDate.AddDays(Model.Item.GetInt32("NewPublicationDays")) > DateTime.Now)) ? true : showBadges; 334 showBadges = !string.IsNullOrEmpty(Model.Item.GetRawValueString("CampaignBadges")) ? true : showBadges; 335 336 337 338 #line default 339 #line hidden 340 341 #line 213 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 342 343 IEnumerable<string> selectedDisplayGroups = Model.Item.GetRawValueString("MainFeatures").Split(',').ToList(); 344 List<CategoryFieldViewModel> mainFeatures = new List<CategoryFieldViewModel>(); 345 346 foreach (var selection in selectedDisplayGroups) 347 { 348 foreach (CategoryFieldViewModel group in product.FieldDisplayGroups.Values) 349 { 350 if (selection == group.Id) 351 { 352 mainFeatures.Add(group); 353 } 354 } 355 } 356 357 // CUSTOM 358 bool requiresCustomCarrier = Converter.ToBoolean(product.ProductFields["Custom_Carrier"].Value); 359 360 361 362 #line default 363 #line hidden 364 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t<article"); 365 366 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 11234), Tuple.Create("\"", 11318) 367 , Tuple.Create(Tuple.Create("", 11242), Tuple.Create("position-relative", 11242), true) 368 369 #line 231 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 370 , Tuple.Create(Tuple.Create("", 11259), Tuple.Create<System.Object, System.Int32>(productTheme 371 372 #line default 373 #line hidden 374 , 11259), false) 375 , Tuple.Create(Tuple.Create(" ", 11274), Tuple.Create("product-list-item", 11275), true) 376 , Tuple.Create(Tuple.Create(" ", 11292), Tuple.Create("js-product", 11293), true) 377 378 #line 231 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 379 , Tuple.Create(Tuple.Create(" ", 11303), Tuple.Create<System.Object, System.Int32>(liveInfoClass 380 381 #line default 382 #line hidden 383 , 11304), false) 384 ); 385 386 WriteLiteralTo(__razor_helper_writer, " data-product-id=\""); 387 388 389 #line 231 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 390 WriteTo(__razor_helper_writer, product.Id); 391 392 393 #line default 394 #line hidden 395 WriteLiteralTo(__razor_helper_writer, "\""); 396 397 WriteLiteralTo(__razor_helper_writer, " itemscope"); 398 399 WriteLiteralTo(__razor_helper_writer, " itemtype=\"https://schema.org/Product\""); 400 401 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 402 403 404 #line 232 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 405 406 407 #line default 408 #line hidden 409 410 #line 232 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 411 if (!anonymousUser) 412 { 413 if (!hideFavoritesSelector) 414 { 415 416 417 #line default 418 #line hidden 419 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t<div"); 420 421 WriteLiteralTo(__razor_helper_writer, " class=\"position-absolute top-0 end-0 my-3\""); 422 423 WriteLiteralTo(__razor_helper_writer, " style=\"z-index: 2\""); 424 425 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 426 427 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t"); 428 429 430 #line 237 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 431 WriteTo(__razor_helper_writer, RenderPartial("Components/ToggleFavorite.cshtml", product, favoriteParameters)); 432 433 434 #line default 435 #line hidden 436 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t</div>\r\n"); 437 438 439 #line 239 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 440 } 441 } 442 443 444 #line default 445 #line hidden 446 WriteLiteralTo(__razor_helper_writer, "\r\n"); 447 448 449 #line 242 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 450 451 452 #line default 453 #line hidden 454 455 #line 242 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 456 if (showBadges) 457 { 458 // #21413 - CUSTOM "text-start" class to left align badges 459 460 461 #line default 462 #line hidden 463 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t<div"); 464 465 WriteLiteralTo(__razor_helper_writer, " class=\"position-absolute top-0 left-0 p-1 p-lg-2 ps-0 ps-lg-0 text-start\""); 466 467 WriteLiteralTo(__razor_helper_writer, " style=\"z-index: 2\""); 468 469 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 470 471 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t"); 472 473 474 #line 246 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 475 WriteTo(__razor_helper_writer, RenderPartial("Components/EcommerceBadge.cshtml", product, badgeParms)); 476 477 478 #line default 479 #line hidden 480 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t</div>\r\n"); 481 482 483 #line 248 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 484 } 485 486 487 #line default 488 #line hidden 489 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t<div"); 490 491 WriteLiteralTo(__razor_helper_writer, " class=\"d-flex flex-column d-block h-100\""); 492 493 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 494 495 496 #line 251 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 497 498 499 #line default 500 #line hidden 501 502 #line 251 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 503 504 string clickProductLink = string.Empty; 505 if ((!string.IsNullOrWhiteSpace(googleAnalyticsMeasurementID) || !string.IsNullOrWhiteSpace(googleTagManagerID))) 506 { 507 clickProductLink = "onclick=\"return clickProductLink('" + @product.Id + "', '" + @Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.Name) + "', '" + @Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.VariantName) + "', '" + @product.Price.CurrencyCode + "', '" + @PriceViewModelExtensions.ToStringInvariant(product.Price) + "')\""; 508 } 509 510 511 #line default 512 #line hidden 513 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t<a"); 514 515 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 12633), Tuple.Create("\"", 12645) 516 517 #line 258 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 518 , Tuple.Create(Tuple.Create("", 12640), Tuple.Create<System.Object, System.Int32>(link 519 520 #line default 521 #line hidden 522 , 12640), false) 523 ); 524 525 WriteLiteralTo(__razor_helper_writer, " class=\"text-decoration-none d-flex flex-column\""); 526 527 WriteLiteralTo(__razor_helper_writer, " "); 528 529 530 #line 258 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 531 WriteTo(__razor_helper_writer, clickProductLink); 532 533 534 #line default 535 #line hidden 536 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 537 538 539 #line 259 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 540 541 542 #line default 543 #line hidden 544 545 #line 259 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 546 if ((!string.IsNullOrWhiteSpace(googleAnalyticsMeasurementID) || !string.IsNullOrWhiteSpace(googleTagManagerID))) 547 { 548 549 550 #line default 551 #line hidden 552 WriteLiteralTo(__razor_helper_writer, @" <script> 553 window.addEventListener('CookieInformationConsentGiven', function (event) { 554 if (CookieInformation.getConsentGivenFor('cookie_cat_necessary')) { 555 function clickProductLink(productId, productName, productVariant, productCurrency, productPrice) { 556 if (typeof gtag !== ""undefined"") { 557 gtag(""event"", ""select_item"", { 558 item_list_id: ""product_list_gridview"", 559 item_list_name: ""Product list (Gridview)"", 560 items: [ 561 { 562 item_id: productId, 563 item_name: productName, 564 currency: productCurrency, 565 item_list_id: ""product_list_gridview"", 566 item_list_name: ""Product list (Gridview)"", 567 item_variant: productVariant, 568 price: productPrice 569 } 570 ] 571 }); 572 } 573 } 574 } 575 }, false); 576 </script> 577 "); 578 579 580 #line 286 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 581 } 582 583 584 #line default 585 #line hidden 586 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t<div"); 587 588 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 13869), Tuple.Create("\"", 13905) 589 590 #line 288 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 591 , Tuple.Create(Tuple.Create("", 13877), Tuple.Create<System.Object, System.Int32>(productThemePadding 592 593 #line default 594 #line hidden 595 , 13877), false) 596 , Tuple.Create(Tuple.Create(" ", 13897), Tuple.Create("order-2", 13898), true) 597 ); 598 599 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t<div"); 600 601 WriteLiteralTo(__razor_helper_writer, " class=\"flex-grow-1\""); 602 603 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t<h3"); 604 605 WriteLiteralTo(__razor_helper_writer, " class=\"h6 mb-0 text-break\""); 606 607 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t<span"); 608 609 WriteLiteralTo(__razor_helper_writer, " itemprop=\"name\""); 610 611 WriteAttributeTo(__razor_helper_writer, "content", Tuple.Create(" content=\"", 14017), Tuple.Create("\"", 14098) 612 613 #line 291 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 614 , Tuple.Create(Tuple.Create("", 14027), Tuple.Create<System.Object, System.Int32>(Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(product.Name) 615 616 #line default 617 #line hidden 618 , 14027), false) 619 ); 620 621 WriteLiteralTo(__razor_helper_writer, " class=\"d-none\""); 622 623 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 624 625 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t"); 626 627 628 #line 292 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 629 WriteTo(__razor_helper_writer, product.Name); 630 631 632 #line default 633 #line hidden 634 WriteLiteralTo(__razor_helper_writer, " "); 635 636 637 #line 292 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 638 if (!string.IsNullOrEmpty(product.VariantName)) 639 { 640 641 #line default 642 #line hidden 643 WriteLiteralTo(__razor_helper_writer, "("); 644 645 646 #line 293 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 647 WriteTo(__razor_helper_writer, product.VariantName); 648 649 650 #line default 651 #line hidden 652 WriteLiteralTo(__razor_helper_writer, ")"); 653 654 655 #line 293 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 656 } 657 658 659 #line default 660 #line hidden 661 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t</h3>\r\n"); 662 663 664 #line 295 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 665 666 667 #line default 668 #line hidden 669 670 #line 295 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 671 if (!Model.Item.GetBoolean("HideProductNumber")) 672 { 673 674 675 #line default 676 #line hidden 677 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t<p"); 678 679 WriteLiteralTo(__razor_helper_writer, " class=\"fs-7 opacity-85 mb-2\""); 680 681 WriteLiteralTo(__razor_helper_writer, ">"); 682 683 684 #line 297 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 685 WriteTo(__razor_helper_writer, product.Number); 686 687 688 #line default 689 #line hidden 690 WriteLiteralTo(__razor_helper_writer, "</p>\r\n"); 691 692 693 #line 298 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 694 } 695 696 697 #line default 698 #line hidden 699 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t"); 700 701 702 #line 299 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 703 if (mainFeatures.Count > 0) 704 { 705 // CUSTOM CSS 706 707 708 #line default 709 #line hidden 710 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t<ul"); 711 712 WriteLiteralTo(__razor_helper_writer, " class=\"p-0 lh-sm list-unstyled mt-2 mb-2\""); 713 714 WriteLiteralTo(__razor_helper_writer, " style=\"list-style-position: inside\""); 715 716 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 717 718 719 #line 303 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 720 721 722 #line default 723 #line hidden 724 725 #line 303 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 726 foreach (CategoryFieldViewModel mainFeatureGroup in mainFeatures) 727 { 728 foreach (var fieldViewModel in mainFeatureGroup.Fields) 729 { 730 var field = fieldViewModel.Value; 731 string fieldValue = field?.Value is object ? field.Value.ToString() : ""; 732 733 if (fieldValue != "") 734 { 735 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 736 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 737 738 if (field.Value.GetType() == typeof(System.Collections.Generic.List<FieldOptionValueViewModel>)) 739 { 740 fieldValue = ""; 741 742 foreach (FieldOptionValueViewModel option in field.Value as System.Collections.Generic.List<FieldOptionValueViewModel>) 743 { 744 fieldValue = option.Name; 745 } 746 } 747 748 bool isColor = false; 749 if (fieldValue.Contains("#") && (Translate(field.Name) == Translate("Color") || Translate(field.Name) == Translate("Colour"))) 750 { 751 isColor = true; 752 } 753 754 if (!string.IsNullOrEmpty(fieldValue)) 755 { 756 if (!isColor) 757 { 758 // CUSTOM removed prefix from value 759 760 761 #line default 762 #line hidden 763 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>"); 764 765 766 #line 336 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 767 WriteTo(__razor_helper_writer, fieldValue); 768 769 770 #line default 771 #line hidden 772 WriteLiteralTo(__razor_helper_writer, "</li>\r\n"); 773 774 775 #line 337 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 776 } 777 else 778 { 779 780 781 #line default 782 #line hidden 783 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li"); 784 785 WriteLiteralTo(__razor_helper_writer, " class=\"position-relative\""); 786 787 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 788 789 WriteLiteralTo(__razor_helper_writer, " class=\"colorbox-sm\""); 790 791 WriteAttributeTo(__razor_helper_writer, "style", Tuple.Create(" style=\"", 16115), Tuple.Create("\"", 16152) 792 , Tuple.Create(Tuple.Create("", 16123), Tuple.Create("background-color:", 16123), true) 793 794 #line 341 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 795 , Tuple.Create(Tuple.Create(" ", 16140), Tuple.Create<System.Object, System.Int32>(fieldValue 796 797 #line default 798 #line hidden 799 , 16141), false) 800 ); 801 802 WriteLiteralTo(__razor_helper_writer, "></span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\r\n"); 803 804 805 #line 343 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 806 } 807 } 808 } 809 } 810 } 811 812 813 #line default 814 #line hidden 815 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t</ul>\r\n"); 816 817 818 #line 349 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 819 } 820 821 822 #line default 823 #line hidden 824 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t"); 825 826 WriteLiteralTo(__razor_helper_writer, "\r\n"); 827 828 829 #line 353 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 830 831 832 #line default 833 #line hidden 834 835 #line 353 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 836 if (!hideRequireCarrierOnProductlist && requiresCustomCarrier) 837 { 838 839 840 #line default 841 #line hidden 842 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t<small"); 843 844 WriteLiteralTo(__razor_helper_writer, " class=\"fs-8\""); 845 846 WriteLiteralTo(__razor_helper_writer, "><strong>"); 847 848 849 #line 355 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 850 WriteTo(__razor_helper_writer, Translate("This product requires a carrier")); 851 852 853 #line default 854 #line hidden 855 WriteLiteralTo(__razor_helper_writer, "</strong></small>\r\n"); 856 857 858 #line 356 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 859 } 860 861 862 #line default 863 #line hidden 864 WriteLiteralTo(__razor_helper_writer, "\r\n"); 865 866 867 #line 358 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 868 869 870 #line default 871 #line hidden 872 873 #line 358 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 874 if (!hidePrice) 875 { 876 string priceMin = ""; 877 string priceMax = ""; 878 879 880 881 #line default 882 #line hidden 883 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t<div"); 884 885 WriteLiteralTo(__razor_helper_writer, " itemprop=\"offers\""); 886 887 WriteLiteralTo(__razor_helper_writer, " itemtype=\"http://schema.org/Offer\""); 888 889 WriteLiteralTo(__razor_helper_writer, " itemscope>\r\n\t\t\t\t\t\t\t\t\t\t\t<span"); 890 891 WriteLiteralTo(__razor_helper_writer, " itemprop=\"priceCurrency\""); 892 893 WriteAttributeTo(__razor_helper_writer, "content", Tuple.Create(" content=\"", 16773), Tuple.Create("\"", 16810) 894 895 #line 365 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 896 , Tuple.Create(Tuple.Create("", 16783), Tuple.Create<System.Object, System.Int32>(product.Price.CurrencyCode 897 898 #line default 899 #line hidden 900 , 16783), false) 901 ); 902 903 WriteLiteralTo(__razor_helper_writer, " class=\"d-none\""); 904 905 WriteLiteralTo(__razor_helper_writer, "></span>\r\n\r\n"); 906 907 908 #line 367 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 909 910 911 #line default 912 #line hidden 913 914 #line 367 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 915 if (showPricesWithVat == "false" && !neverShowVat) 916 { 917 if (isLazyLoadingForProductInfoEnabled) 918 { 919 920 921 #line default 922 #line hidden 923 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 924 925 WriteLiteralTo(__razor_helper_writer, " itemprop=\"price\""); 926 927 WriteLiteralTo(__razor_helper_writer, " content=\"\""); 928 929 WriteLiteralTo(__razor_helper_writer, " class=\"d-none\""); 930 931 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 932 933 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 934 935 WriteLiteralTo(__razor_helper_writer, " class=\"text-decoration-line-through js-text-decoration-line-through opacity-75 m" + 936 "e-3 text-price js-text-price d-none\""); 937 938 WriteLiteralTo(__razor_helper_writer, " data-show-if=\"LiveProductInfo.product.Price.Price != LiveProductInfo.product.Pri" + 939 "ceBeforeDiscount.Price\""); 940 941 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 942 943 944 #line 373 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 945 } 946 else 947 { 948 string beforePrice = product.PriceBeforeDiscount.PriceWithoutVatFormatted; 949 950 951 952 #line default 953 #line hidden 954 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 955 956 WriteLiteralTo(__razor_helper_writer, " itemprop=\"price\""); 957 958 WriteAttributeTo(__razor_helper_writer, "content", Tuple.Create(" content=\"", 17491), Tuple.Create("\"", 17570) 959 960 #line 378 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 961 , Tuple.Create(Tuple.Create("", 17501), Tuple.Create<System.Object, System.Int32>(product.Price.PriceWithoutVat.ToString(CultureInfo.InvariantCulture) 962 963 #line default 964 #line hidden 965 , 17501), false) 966 ); 967 968 WriteLiteralTo(__razor_helper_writer, " class=\"d-none\""); 969 970 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 971 972 973 #line 379 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 974 if (product.Price.Price != product.PriceBeforeDiscount.Price) 975 { 976 977 978 #line default 979 #line hidden 980 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 981 982 WriteLiteralTo(__razor_helper_writer, " class=\"text-decoration-line-through opacity-75 me-3 text-price\""); 983 984 WriteLiteralTo(__razor_helper_writer, ">"); 985 986 987 #line 381 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 988 WriteTo(__razor_helper_writer, beforePrice); 989 990 991 #line default 992 #line hidden 993 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 994 995 996 #line 382 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 997 } 998 } 999 } 1000 else 1001 { 1002 if (isLazyLoadingForProductInfoEnabled) 1003 { 1004 1005 1006 #line default 1007 #line hidden 1008 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1009 1010 WriteLiteralTo(__razor_helper_writer, " itemprop=\"price\""); 1011 1012 WriteLiteralTo(__razor_helper_writer, " content=\"\""); 1013 1014 WriteLiteralTo(__razor_helper_writer, " class=\"d-none\""); 1015 1016 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 1017 1018 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1019 1020 WriteLiteralTo(__razor_helper_writer, " class=\"text-decoration-line-through js-text-decoration-line-through opacity-75 m" + 1021 "e-3 text-price js-text-price d-none\""); 1022 1023 WriteLiteralTo(__razor_helper_writer, " data-show-if=\"LiveProductInfo.product.Price.Price < LiveProductInfo.product.Pric" + 1024 "eBeforeDiscount.Price\""); 1025 1026 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 1027 1028 1029 #line 391 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1030 } 1031 else 1032 { 1033 string beforePrice = product.PriceBeforeDiscount.PriceFormatted; 1034 1035 1036 1037 #line default 1038 #line hidden 1039 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1040 1041 WriteLiteralTo(__razor_helper_writer, " itemprop=\"price\""); 1042 1043 WriteAttributeTo(__razor_helper_writer, "content", Tuple.Create(" content=\"", 18420), Tuple.Create("\"", 18489) 1044 1045 #line 396 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1046 , Tuple.Create(Tuple.Create("", 18430), Tuple.Create<System.Object, System.Int32>(product.Price.Price.ToString(CultureInfo.InvariantCulture) 1047 1048 #line default 1049 #line hidden 1050 , 18430), false) 1051 ); 1052 1053 WriteLiteralTo(__razor_helper_writer, " class=\"d-none\""); 1054 1055 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 1056 1057 1058 #line 397 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1059 if (product.Price.Price != product.PriceBeforeDiscount.Price) 1060 { 1061 1062 1063 #line default 1064 #line hidden 1065 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1066 1067 WriteLiteralTo(__razor_helper_writer, " class=\"text-decoration-line-through opacity-75 me-3 text-price\""); 1068 1069 WriteLiteralTo(__razor_helper_writer, ">"); 1070 1071 1072 #line 399 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1073 WriteTo(__razor_helper_writer, beforePrice); 1074 1075 1076 #line default 1077 #line hidden 1078 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 1079 1080 1081 #line 400 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1082 } 1083 } 1084 } 1085 1086 1087 #line default 1088 #line hidden 1089 WriteLiteralTo(__razor_helper_writer, "\r\n"); 1090 1091 1092 #line 404 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1093 1094 1095 #line default 1096 #line hidden 1097 1098 #line 404 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1099 if (showPricesWithVat == "false" && !neverShowVat) 1100 { 1101 if (isLazyLoadingForProductInfoEnabled) 1102 { 1103 1104 1105 #line default 1106 #line hidden 1107 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1108 1109 WriteLiteralTo(__razor_helper_writer, " class=\"text-price js-text-price\""); 1110 1111 WriteLiteralTo(__razor_helper_writer, "><span"); 1112 1113 WriteLiteralTo(__razor_helper_writer, " class=\"spinner-border\""); 1114 1115 WriteLiteralTo(__razor_helper_writer, " role=\"status\""); 1116 1117 WriteLiteralTo(__razor_helper_writer, "></span></span>\r\n"); 1118 1119 1120 #line 409 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1121 } 1122 else 1123 { 1124 string price = product.Price.PriceWithoutVatFormatted; 1125 if (product?.VariantInfo?.VariantInfo != null) 1126 { 1127 priceMin = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : ""; 1128 priceMax = product?.VariantInfo?.PriceMax?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithoutVatFormatted : ""; 1129 } 1130 if (priceMin != priceMax) 1131 { 1132 price = priceMin + " - " + priceMax; 1133 } 1134 1135 1136 #line default 1137 #line hidden 1138 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1139 1140 WriteLiteralTo(__razor_helper_writer, " class=\"text-price\""); 1141 1142 WriteLiteralTo(__razor_helper_writer, ">"); 1143 1144 1145 #line 422 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1146 WriteTo(__razor_helper_writer, price); 1147 1148 1149 #line default 1150 #line hidden 1151 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 1152 1153 1154 #line 423 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1155 } 1156 } 1157 else 1158 { 1159 if (isLazyLoadingForProductInfoEnabled) 1160 { 1161 1162 1163 #line default 1164 #line hidden 1165 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1166 1167 WriteLiteralTo(__razor_helper_writer, " class=\"text-price js-text-price\""); 1168 1169 WriteLiteralTo(__razor_helper_writer, "><span"); 1170 1171 WriteLiteralTo(__razor_helper_writer, " class=\"spinner-border\""); 1172 1173 WriteLiteralTo(__razor_helper_writer, " role=\"status\""); 1174 1175 WriteLiteralTo(__razor_helper_writer, "></span></span>\r\n"); 1176 1177 1178 #line 430 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1179 } 1180 else 1181 { 1182 string price = product.Price.PriceFormatted; 1183 if (product?.VariantInfo?.VariantInfo != null) 1184 { 1185 priceMin = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : ""; 1186 priceMax = product?.VariantInfo?.PriceMax?.PriceFormatted != null ? product.VariantInfo.PriceMax.PriceFormatted : ""; 1187 } 1188 if (priceMin != priceMax) 1189 { 1190 price = priceMin + " - " + priceMax; 1191 } 1192 1193 1194 #line default 1195 #line hidden 1196 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1197 1198 WriteLiteralTo(__razor_helper_writer, " class=\"text-price\""); 1199 1200 WriteLiteralTo(__razor_helper_writer, ">"); 1201 1202 1203 #line 443 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1204 WriteTo(__razor_helper_writer, price); 1205 1206 1207 #line default 1208 #line hidden 1209 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 1210 1211 1212 #line 444 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1213 } 1214 } 1215 1216 1217 #line default 1218 #line hidden 1219 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t"); 1220 1221 WriteLiteralTo(__razor_helper_writer, "\r\n"); 1222 1223 1224 #line 448 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1225 1226 1227 #line default 1228 #line hidden 1229 1230 #line 448 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1231 if (discountType == "icon-tooltip" && product.Price.Price != product.PriceBeforeDiscount.Price) 1232 { 1233 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 1234 if (discountInfo != null) 1235 { 1236 if ((!string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) || !discountImagePath.ToLower().Contains("none")) && discountImagePath != string.Empty) 1237 { 1238 1239 1240 #line default 1241 #line hidden 1242 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1243 1244 WriteLiteralTo(__razor_helper_writer, " data-bs-toggle=\"tooltip\""); 1245 1246 WriteLiteralTo(__razor_helper_writer, " data-bs-custom-class=\""); 1247 1248 1249 #line 455 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1250 WriteTo(__razor_helper_writer, discountTheme); 1251 1252 1253 #line default 1254 #line hidden 1255 WriteLiteralTo(__razor_helper_writer, "\""); 1256 1257 WriteLiteralTo(__razor_helper_writer, " data-bs-html=\"true\""); 1258 1259 WriteLiteralTo(__razor_helper_writer, " data-bs-title=\""); 1260 1261 1262 #line 455 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1263 WriteTo(__razor_helper_writer, HtmlEncoder.HtmlAttributeEncode(string.Format(Translate("Tilbuddet g�lder {0} - {1}"), $"&zwnj;{discountInfo.ValidFromFormatted}&zwnj;", $"&zwnj;{discountInfo.ValidToFormatted}&zwnj;"))); 1264 1265 1266 #line default 1267 #line hidden 1268 WriteLiteralTo(__razor_helper_writer, "\""); 1269 1270 WriteLiteralTo(__razor_helper_writer, " data-bs-custom-prevent-event=\"click\""); 1271 1272 WriteLiteralTo(__razor_helper_writer, " data-bs-custom-click-close-delay=\"2000\""); 1273 1274 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1275 1276 1277 #line 456 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1278 1279 1280 #line default 1281 #line hidden 1282 1283 #line 456 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1284 if (Path.GetExtension(discountImagePath).ToLower() == ".svg") 1285 { 1286 1287 1288 #line default 1289 #line hidden 1290 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 1291 1292 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 21676), Tuple.Create("\"", 21714) 1293 , Tuple.Create(Tuple.Create("", 21684), Tuple.Create("icon-auto", 21684), true) 1294 1295 #line 458 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1296 , Tuple.Create(Tuple.Create(" ", 21693), Tuple.Create<System.Object, System.Int32>(discountIconColor 1297 1298 #line default 1299 #line hidden 1300 , 21694), false) 1301 ); 1302 1303 WriteAttributeTo(__razor_helper_writer, "style", Tuple.Create(" style=\"", 21715), Tuple.Create("\"", 21804) 1304 , Tuple.Create(Tuple.Create("", 21723), Tuple.Create("vertical-align:text-top;height:", 21723), true) 1305 1306 #line 458 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1307 , Tuple.Create(Tuple.Create("", 21754), Tuple.Create<System.Object, System.Int32>(discountIconSize 1308 1309 #line default 1310 #line hidden 1311 , 21754), false) 1312 , Tuple.Create(Tuple.Create("", 21773), Tuple.Create("px;width:", 21773), true) 1313 1314 #line 458 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1315 , Tuple.Create(Tuple.Create("", 21782), Tuple.Create<System.Object, System.Int32>(discountIconSize 1316 1317 #line default 1318 #line hidden 1319 , 21782), false) 1320 , Tuple.Create(Tuple.Create("", 21801), Tuple.Create("px;", 21801), true) 1321 ); 1322 1323 WriteLiteralTo(__razor_helper_writer, ">"); 1324 1325 1326 #line 458 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1327 WriteTo(__razor_helper_writer, ReadFile(discountImagePath)); 1328 1329 1330 #line default 1331 #line hidden 1332 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 1333 1334 1335 #line 459 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1336 } 1337 else 1338 { 1339 1340 1341 #line default 1342 #line hidden 1343 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img"); 1344 1345 WriteLiteralTo(__razor_helper_writer, " loading=\"lazy\""); 1346 1347 WriteAttributeTo(__razor_helper_writer, "src", Tuple.Create(" src=\"", 21935), Tuple.Create("\"", 21961) 1348 1349 #line 462 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1350 , Tuple.Create(Tuple.Create("", 21941), Tuple.Create<System.Object, System.Int32>(discountImagePath 1351 1352 #line default 1353 #line hidden 1354 , 21941), false) 1355 ); 1356 1357 WriteAttributeTo(__razor_helper_writer, "alt", Tuple.Create(" alt=\"", 21962), Tuple.Create("\"", 22020) 1358 1359 #line 462 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1360 , Tuple.Create(Tuple.Create("", 21968), Tuple.Create<System.Object, System.Int32>(HtmlEncoder.HtmlAttributeEncode(discountImgAltText) 1361 1362 #line default 1363 #line hidden 1364 , 21968), false) 1365 ); 1366 1367 WriteAttributeTo(__razor_helper_writer, "title", Tuple.Create(" title=\"", 22021), Tuple.Create("\"", 22081) 1368 1369 #line 462 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1370 , Tuple.Create(Tuple.Create("", 22029), Tuple.Create<System.Object, System.Int32>(HtmlEncoder.HtmlAttributeEncode(discountImgAltText) 1371 1372 #line default 1373 #line hidden 1374 , 22029), false) 1375 ); 1376 1377 WriteAttributeTo(__razor_helper_writer, "style", Tuple.Create(" style=\"", 22082), Tuple.Create("\"", 22147) 1378 , Tuple.Create(Tuple.Create("", 22090), Tuple.Create("height:", 22090), true) 1379 1380 #line 462 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1381 , Tuple.Create(Tuple.Create("", 22097), Tuple.Create<System.Object, System.Int32>(discountIconSize 1382 1383 #line default 1384 #line hidden 1385 , 22097), false) 1386 , Tuple.Create(Tuple.Create("", 22116), Tuple.Create("px;width:", 22116), true) 1387 1388 #line 462 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1389 , Tuple.Create(Tuple.Create("", 22125), Tuple.Create<System.Object, System.Int32>(discountIconSize 1390 1391 #line default 1392 #line hidden 1393 , 22125), false) 1394 , Tuple.Create(Tuple.Create("", 22144), Tuple.Create("px;", 22144), true) 1395 ); 1396 1397 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1398 1399 1400 #line 463 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1401 } 1402 1403 1404 #line default 1405 #line hidden 1406 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n"); 1407 1408 1409 #line 465 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1410 } 1411 } 1412 } 1413 1414 1415 #line default 1416 #line hidden 1417 1418 #line 468 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1419 1420 1421 1422 #line default 1423 #line hidden 1424 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n"); 1425 1426 1427 #line 471 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1428 1429 1430 #line default 1431 #line hidden 1432 1433 #line 471 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1434 if (showPricesWithVat == "false" && !neverShowVat) 1435 { 1436 if (isLazyLoadingForProductInfoEnabled) 1437 { 1438 1439 1440 #line default 1441 #line hidden 1442 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t<div"); 1443 1444 WriteLiteralTo(__razor_helper_writer, " class=\"fs-7 opacity-85 text-price js-text-price-with-vat d-none\""); 1445 1446 WriteLiteralTo(__razor_helper_writer, " data-suffix=\""); 1447 1448 1449 #line 475 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1450 WriteTo(__razor_helper_writer, Translate("Incl. VAT")); 1451 1452 1453 #line default 1454 #line hidden 1455 WriteLiteralTo(__razor_helper_writer, "\""); 1456 1457 WriteLiteralTo(__razor_helper_writer, "></div>\r\n"); 1458 1459 1460 #line 476 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1461 } 1462 else 1463 { 1464 string price = product.Price.PriceWithVatFormatted; 1465 if (product?.VariantInfo?.VariantInfo != null) 1466 { 1467 priceMin = product?.VariantInfo?.PriceMin?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithVatFormatted : ""; 1468 priceMax = product?.VariantInfo?.PriceMax?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithVatFormatted : ""; 1469 } 1470 if (priceMin != priceMax) 1471 { 1472 price = priceMin + " - " + priceMax; 1473 } 1474 1475 1476 #line default 1477 #line hidden 1478 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t<div"); 1479 1480 WriteLiteralTo(__razor_helper_writer, " class=\"fs-7 opacity-85 text-price\""); 1481 1482 WriteLiteralTo(__razor_helper_writer, ">"); 1483 1484 1485 #line 489 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1486 WriteTo(__razor_helper_writer, price); 1487 1488 1489 #line default 1490 #line hidden 1491 WriteLiteralTo(__razor_helper_writer, " "); 1492 1493 1494 #line 489 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1495 WriteTo(__razor_helper_writer, Translate("Incl. VAT")); 1496 1497 1498 #line default 1499 #line hidden 1500 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 1501 1502 1503 #line 490 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1504 } 1505 } 1506 1507 1508 1509 #line default 1510 #line hidden 1511 1512 #line 493 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1513 1514 1515 1516 #line default 1517 #line hidden 1518 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t"); 1519 1520 1521 #line 494 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1522 if (discountType == "inline" && product.Price.Price != product.PriceBeforeDiscount.Price) 1523 { 1524 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 1525 1526 1527 1528 #line default 1529 #line hidden 1530 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t<div"); 1531 1532 WriteLiteralTo(__razor_helper_writer, " class=\"small\""); 1533 1534 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1535 1536 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t"); 1537 1538 1539 #line 499 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1540 WriteTo(__razor_helper_writer, string.Format(Translate("Tilbuddet g�lder {0} - {1}"), $"&zwnj;{discountInfo.ValidFromFormatted}&zwnj;", $"&zwnj;{discountInfo.ValidToFormatted}&zwnj;")); 1541 1542 1543 #line default 1544 #line hidden 1545 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n"); 1546 1547 1548 #line 501 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1549 } 1550 1551 1552 #line default 1553 #line hidden 1554 1555 #line 502 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1556 1557 1558 1559 #line default 1560 #line hidden 1561 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t</div>\r\n"); 1562 1563 1564 #line 505 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1565 } 1566 1567 1568 #line default 1569 #line hidden 1570 WriteLiteralTo(__razor_helper_writer, "\r\n"); 1571 1572 1573 #line 507 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1574 1575 1576 #line default 1577 #line hidden 1578 1579 #line 507 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1580 if (product.VariantInfo.VariantInfo != null && staticVariantsLayout == "swatches") 1581 { 1582 var optionCount = product.VariantInfo.VariantInfo.Count(); 1583 var showMaxVariants = 5; 1584 1585 1586 1587 #line default 1588 #line hidden 1589 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t<div"); 1590 1591 WriteLiteralTo(__razor_helper_writer, " class=\"d-flex flex-row gap-1 align-items-center\""); 1592 1593 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1594 1595 1596 #line 513 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1597 1598 1599 #line default 1600 #line hidden 1601 1602 #line 513 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1603 foreach (VariantInfoViewModel variant in product.VariantInfo.VariantInfo.Take(showMaxVariants)) 1604 { 1605 1606 1607 #line default 1608 #line hidden 1609 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t<span"); 1610 1611 WriteLiteralTo(__razor_helper_writer, " class=\"colorbox colorbox-sm rounded-circle border me-1\""); 1612 1613 WriteAttributeTo(__razor_helper_writer, "style", Tuple.Create(" style=\"", 24338), Tuple.Create("\"", 24384) 1614 , Tuple.Create(Tuple.Create("", 24346), Tuple.Create("background-color:", 24346), true) 1615 1616 #line 515 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1617 , Tuple.Create(Tuple.Create(" ", 24363), Tuple.Create<System.Object, System.Int32>(variant.OptionColor 1618 1619 #line default 1620 #line hidden 1621 , 24364), false) 1622 ); 1623 1624 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 1625 1626 1627 #line 516 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1628 } 1629 1630 1631 #line default 1632 #line hidden 1633 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t"); 1634 1635 1636 #line 517 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1637 if (optionCount > showMaxVariants) 1638 { 1639 int left = optionCount - showMaxVariants; 1640 1641 1642 #line default 1643 #line hidden 1644 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t<span"); 1645 1646 WriteLiteralTo(__razor_helper_writer, " class=\"ms-2\""); 1647 1648 WriteLiteralTo(__razor_helper_writer, ">+"); 1649 1650 1651 #line 520 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1652 WriteTo(__razor_helper_writer, left); 1653 1654 1655 #line default 1656 #line hidden 1657 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 1658 1659 1660 #line 521 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1661 } 1662 1663 1664 #line default 1665 #line hidden 1666 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t</div>\r\n"); 1667 1668 1669 #line 523 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1670 } 1671 1672 1673 #line default 1674 #line hidden 1675 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div"); 1676 1677 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 24636), Tuple.Create("\"", 24681) 1678 , Tuple.Create(Tuple.Create("", 24644), Tuple.Create("overflow-hidden", 24644), true) 1679 , Tuple.Create(Tuple.Create(" ", 24659), Tuple.Create("order-1", 24660), true) 1680 1681 #line 526 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1682 , Tuple.Create(Tuple.Create(" ", 24667), Tuple.Create<System.Object, System.Int32>(imageTheme 1683 1684 #line default 1685 #line hidden 1686 , 24668), false) 1687 ); 1688 1689 WriteLiteralTo(__razor_helper_writer, " "); 1690 1691 1692 #line 526 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1693 WriteTo(__razor_helper_writer, imageOutlineStyle); 1694 1695 1696 #line default 1697 #line hidden 1698 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t<div"); 1699 1700 WriteLiteralTo(__razor_helper_writer, " class=\"ratio\""); 1701 1702 WriteAttributeTo(__razor_helper_writer, "style", Tuple.Create(" style=\"", 24730), Tuple.Create("\"", 24754) 1703 1704 #line 527 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1705 , Tuple.Create(Tuple.Create("", 24738), Tuple.Create<System.Object, System.Int32>(ratioVariable 1706 1707 #line default 1708 #line hidden 1709 , 24738), false) 1710 ); 1711 1712 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t<div"); 1713 1714 WriteLiteralTo(__razor_helper_writer, " class=\"d-flex justify-content-center align-items-center\""); 1715 1716 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1717 1718 1719 #line 529 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1720 1721 1722 #line default 1723 #line hidden 1724 1725 #line 529 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1726 if (string.IsNullOrEmpty(alternativeImage)) 1727 { 1728 1729 1730 #line default 1731 #line hidden 1732 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t<img"); 1733 1734 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 24915), Tuple.Create("\"", 24928) 1735 1736 #line 531 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1737 , Tuple.Create(Tuple.Create("", 24920), Tuple.Create<System.Object, System.Int32>(imageId 1738 1739 #line default 1740 #line hidden 1741 , 24920), false) 1742 ); 1743 1744 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t itemprop=\"image\""); 1745 1746 WriteAttributeTo(__razor_helper_writer, "srcset", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t srcset=\"", 24960), Tuple.Create("\"", 25048) 1747 1748 #line 534 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1749 , Tuple.Create(Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t", 24983), Tuple.Create<System.Object, System.Int32>(imagePathXs 1750 1751 #line default 1752 #line hidden 1753 , 24998), false) 1754 , Tuple.Create(Tuple.Create(" ", 25010), Tuple.Create("480w,", 25011), true) 1755 1756 #line 535 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1757 , Tuple.Create(Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t", 25016), Tuple.Create<System.Object, System.Int32>(imagePathS 1758 1759 #line default 1760 #line hidden 1761 , 25031), false) 1762 , Tuple.Create(Tuple.Create(" ", 25042), Tuple.Create("640w", 25044), true) 1763 ); 1764 1765 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t sizes=\"(min-width: 992px) 33vw, 50vw\""); 1766 1767 WriteAttributeTo(__razor_helper_writer, "src", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t src=\"", 25101), Tuple.Create("\"", 25139) 1768 1769 #line 537 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1770 , Tuple.Create(Tuple.Create("", 25121), Tuple.Create<System.Object, System.Int32>(imagePathFallBack 1771 1772 #line default 1773 #line hidden 1774 , 25121), false) 1775 ); 1776 1777 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t loading=\"lazy\""); 1778 1779 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t decoding=\"async\""); 1780 1781 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t class=\"", 25200), Tuple.Create("\"", 25254) 1782 , Tuple.Create(Tuple.Create("", 25222), Tuple.Create("mw-100", 25222), true) 1783 , Tuple.Create(Tuple.Create(" ", 25228), Tuple.Create("mh-100", 25229), true) 1784 1785 #line 540 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1786 , Tuple.Create(Tuple.Create(" ", 25235), Tuple.Create<System.Object, System.Int32>(imageThemePadding 1787 1788 #line default 1789 #line hidden 1790 , 25236), false) 1791 ); 1792 1793 WriteAttributeTo(__razor_helper_writer, "alt", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t alt=\"", 25255), Tuple.Create("\"", 25288) 1794 1795 #line 541 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1796 , Tuple.Create(Tuple.Create("", 25275), Tuple.Create<System.Object, System.Int32>(product.Name 1797 1798 #line default 1799 #line hidden 1800 , 25275), false) 1801 ); 1802 1803 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1804 1805 1806 #line 542 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1807 } 1808 else 1809 { 1810 1811 1812 #line default 1813 #line hidden 1814 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t<img"); 1815 1816 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 25349), Tuple.Create("\"", 25362) 1817 1818 #line 545 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1819 , Tuple.Create(Tuple.Create("", 25354), Tuple.Create<System.Object, System.Int32>(imageId 1820 1821 #line default 1822 #line hidden 1823 , 25354), false) 1824 ); 1825 1826 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t itemprop=\"image\""); 1827 1828 WriteAttributeTo(__razor_helper_writer, "src", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t src=\"", 25394), Tuple.Create("\"", 25432) 1829 1830 #line 547 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1831 , Tuple.Create(Tuple.Create("", 25414), Tuple.Create<System.Object, System.Int32>(imagePathFallBack 1832 1833 #line default 1834 #line hidden 1835 , 25414), false) 1836 ); 1837 1838 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t loading=\"lazy\""); 1839 1840 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t decoding=\"async\""); 1841 1842 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t class=\"", 25493), Tuple.Create("\"", 25547) 1843 , Tuple.Create(Tuple.Create("", 25515), Tuple.Create("mw-100", 25515), true) 1844 , Tuple.Create(Tuple.Create(" ", 25521), Tuple.Create("mh-100", 25522), true) 1845 1846 #line 550 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1847 , Tuple.Create(Tuple.Create(" ", 25528), Tuple.Create<System.Object, System.Int32>(imageThemePadding 1848 1849 #line default 1850 #line hidden 1851 , 25529), false) 1852 ); 1853 1854 WriteAttributeTo(__razor_helper_writer, "alt", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t alt=\"", 25548), Tuple.Create("\"", 25581) 1855 1856 #line 551 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1857 , Tuple.Create(Tuple.Create("", 25568), Tuple.Create<System.Object, System.Int32>(product.Name 1858 1859 #line default 1860 #line hidden 1861 , 25568), false) 1862 ); 1863 1864 WriteAttributeTo(__razor_helper_writer, "onmouseover", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t onmouseover=\"", 25582), Tuple.Create("\"", 25638) 1865 , Tuple.Create(Tuple.Create("", 25610), Tuple.Create("this.src=\'", 25610), true) 1866 1867 #line 552 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1868 , Tuple.Create(Tuple.Create("", 25620), Tuple.Create<System.Object, System.Int32>(alternativeImage 1869 1870 #line default 1871 #line hidden 1872 , 25620), false) 1873 , Tuple.Create(Tuple.Create("", 25637), Tuple.Create("\'", 25637), true) 1874 ); 1875 1876 WriteAttributeTo(__razor_helper_writer, "onmouseout", Tuple.Create("\r\n\t\t\t\t\t\t\t\t\t\t\t\t onmouseout=\"", 25639), Tuple.Create("\"", 25695) 1877 , Tuple.Create(Tuple.Create("", 25666), Tuple.Create("this.src=\'", 25666), true) 1878 1879 #line 553 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1880 , Tuple.Create(Tuple.Create("", 25676), Tuple.Create<System.Object, System.Int32>(imagePathFallBack 1881 1882 #line default 1883 #line hidden 1884 , 25676), false) 1885 , Tuple.Create(Tuple.Create("", 25694), Tuple.Create("\'", 25694), true) 1886 ); 1887 1888 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1889 1890 1891 #line 554 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1892 } 1893 1894 1895 #line default 1896 #line hidden 1897 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n"); 1898 1899 1900 #line 558 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1901 1902 1903 #line default 1904 #line hidden 1905 1906 #line 558 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1907 if (product.VariantInfo.VariantInfo != null && staticVariantsLayout == "images") 1908 { 1909 int variantGroupCount = 0; 1910 int showMaxVariantGroups = 2; 1911 int showMaxVariants = 3; 1912 var productVariantTheme = productTheme != "" ? productTheme : "bg-white"; 1913 1914 1915 1916 #line default 1917 #line hidden 1918 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t<div"); 1919 1920 WriteLiteralTo(__razor_helper_writer, " class=\"position-relative\""); 1921 1922 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t<div"); 1923 1924 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 26103), Tuple.Create("\"", 26134) 1925 , Tuple.Create(Tuple.Create("", 26108), Tuple.Create("StaticVariants_", 26108), true) 1926 1927 #line 566 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1928 , Tuple.Create(Tuple.Create("", 26123), Tuple.Create<System.Object, System.Int32>(product.Id 1929 1930 #line default 1931 #line hidden 1932 , 26123), false) 1933 ); 1934 1935 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 26135), Tuple.Create("\"", 26230) 1936 , Tuple.Create(Tuple.Create("", 26143), Tuple.Create("static-variants", 26143), true) 1937 , Tuple.Create(Tuple.Create(" ", 26158), Tuple.Create("w-100", 26159), true) 1938 , Tuple.Create(Tuple.Create(" ", 26164), Tuple.Create("d-none", 26165), true) 1939 , Tuple.Create(Tuple.Create(" ", 26171), Tuple.Create("d-lg-block", 26172), true) 1940 , Tuple.Create(Tuple.Create(" ", 26182), Tuple.Create("position-absolute", 26183), true) 1941 , Tuple.Create(Tuple.Create(" ", 26200), Tuple.Create("left-0", 26201), true) 1942 , Tuple.Create(Tuple.Create(" ", 26207), Tuple.Create("bottom-0", 26208), true) 1943 1944 #line 566 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1945 , Tuple.Create(Tuple.Create(" ", 26216), Tuple.Create<System.Object, System.Int32>(productTheme 1946 1947 #line default 1948 #line hidden 1949 , 26217), false) 1950 ); 1951 1952 WriteLiteralTo(__razor_helper_writer, " style=\"pointer-events: none;\""); 1953 1954 WriteLiteralTo(__razor_helper_writer, ">\r\n\r\n"); 1955 1956 1957 #line 568 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1958 1959 1960 #line default 1961 #line hidden 1962 1963 #line 568 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1964 foreach (var variantGroup in product.VariantGroups()) 1965 { 1966 int variantsCount = 0; 1967 1968 1969 1970 #line default 1971 #line hidden 1972 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t<div"); 1973 1974 WriteLiteralTo(__razor_helper_writer, " class=\"d-flex gap-2 mb-2\""); 1975 1976 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1977 1978 1979 #line 573 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1980 1981 1982 #line default 1983 #line hidden 1984 1985 #line 573 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 1986 foreach (var variant in variantGroup.Options) 1987 { 1988 if (variantGroupCount < showMaxVariantGroups) 1989 { 1990 var optionsCount = variantGroup.Options.Count(); 1991 1992 if (variantsCount < showMaxVariants) 1993 { 1994 string optionWidth = !string.IsNullOrEmpty(variant.Color) ? "w-25" : ""; 1995 1996 1997 1998 #line default 1999 #line hidden 2000 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<article"); 2001 2002 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 26839), Tuple.Create("\"", 26905) 2003 , Tuple.Create(Tuple.Create("", 26847), Tuple.Create("static-variants-option", 26847), true) 2004 2005 #line 583 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2006 , Tuple.Create(Tuple.Create(" ", 26869), Tuple.Create<System.Object, System.Int32>(optionWidth 2007 2008 #line default 2009 #line hidden 2010 , 26870), false) 2011 2012 #line 583 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2013 , Tuple.Create(Tuple.Create(" ", 26882), Tuple.Create<System.Object, System.Int32>(productVariantTheme 2014 2015 #line default 2016 #line hidden 2017 , 26883), false) 2018 ); 2019 2020 WriteAttributeTo(__razor_helper_writer, "title", Tuple.Create(" title=\"", 26906), Tuple.Create("\"", 26941) 2021 2022 #line 583 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2023 , Tuple.Create(Tuple.Create("", 26914), Tuple.Create<System.Object, System.Int32>(product.Name 2024 2025 #line default 2026 #line hidden 2027 , 26914), false) 2028 2029 #line 583 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2030 , Tuple.Create(Tuple.Create(" ", 26927), Tuple.Create<System.Object, System.Int32>(variant.Name 2031 2032 #line default 2033 #line hidden 2034 , 26928), false) 2035 ); 2036 2037 WriteLiteralTo(__razor_helper_writer, " style=\"pointer-events: initial;\""); 2038 2039 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2040 2041 2042 #line 584 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2043 2044 2045 #line default 2046 #line hidden 2047 2048 #line 584 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2049 if (!string.IsNullOrEmpty(variant.Color)) 2050 { 2051 string defaultProductImage = Dynamicweb.Context.Current.Server.UrlEncode(product.DefaultImage.Value); 2052 string variantImage = Dynamicweb.Context.Current.Server.UrlEncode(variant.Image.Value); 2053 string defaultPrice = !hidePrice ? product.Price.PriceFormatted : "0"; 2054 string variantPrice = !hidePrice ? product.Price.PriceFormatted : "0"; 2055 2056 if (isLazyLoadingForProductInfoEnabled) 2057 { 2058 2059 2060 #line default 2061 #line hidden 2062 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<figure"); 2063 2064 WriteLiteralTo(__razor_helper_writer, " class=\"w-100 d-block m-0\""); 2065 2066 WriteLiteralTo(__razor_helper_writer, " data-price-formatted=\"\""); 2067 2068 WriteAttributeTo(__razor_helper_writer, "onmouseover", Tuple.Create(" onmouseover=\"", 27625), Tuple.Create("\"", 27755) 2069 , Tuple.Create(Tuple.Create("", 27639), Tuple.Create("swift.StaticVariants.SwitchProduct(event,", 27639), true) 2070 , Tuple.Create(Tuple.Create(" ", 27680), Tuple.Create("\'", 27681), true) 2071 2072 #line 593 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2073 , Tuple.Create(Tuple.Create("", 27682), Tuple.Create<System.Object, System.Int32>(product.Id 2074 2075 #line default 2076 #line hidden 2077 , 27682), false) 2078 , Tuple.Create(Tuple.Create("", 27693), Tuple.Create("\',", 27693), true) 2079 , Tuple.Create(Tuple.Create(" ", 27695), Tuple.Create("this.getAttribute(\'data-price-formatted\'),", 27696), true) 2080 , Tuple.Create(Tuple.Create(" ", 27738), Tuple.Create("\'", 27739), true) 2081 2082 #line 593 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2083 , Tuple.Create(Tuple.Create("", 27740), Tuple.Create<System.Object, System.Int32>(variantImage 2084 2085 #line default 2086 #line hidden 2087 , 27740), false) 2088 , Tuple.Create(Tuple.Create("", 27753), Tuple.Create("\')", 27753), true) 2089 ); 2090 2091 WriteAttributeTo(__razor_helper_writer, "onmouseout", Tuple.Create(" onmouseout=\"", 27756), Tuple.Create("\"", 27892) 2092 , Tuple.Create(Tuple.Create("", 27769), Tuple.Create("swift.StaticVariants.SwitchProduct(event,", 27769), true) 2093 , Tuple.Create(Tuple.Create(" ", 27810), Tuple.Create("\'", 27811), true) 2094 2095 #line 593 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2096 , Tuple.Create(Tuple.Create("", 27812), Tuple.Create<System.Object, System.Int32>(product.Id 2097 2098 #line default 2099 #line hidden 2100 , 27812), false) 2101 , Tuple.Create(Tuple.Create("", 27823), Tuple.Create("\',", 27823), true) 2102 , Tuple.Create(Tuple.Create(" ", 27825), Tuple.Create("this.getAttribute(\'data-price-formatted\'),", 27826), true) 2103 , Tuple.Create(Tuple.Create(" ", 27868), Tuple.Create("\'", 27869), true) 2104 2105 #line 593 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2106 , Tuple.Create(Tuple.Create("", 27870), Tuple.Create<System.Object, System.Int32>(defaultProductImage 2107 2108 #line default 2109 #line hidden 2110 , 27870), false) 2111 , Tuple.Create(Tuple.Create("", 27890), Tuple.Create("\')", 27890), true) 2112 ); 2113 2114 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div"); 2115 2116 WriteLiteralTo(__razor_helper_writer, " class=\"d-flex align-items-center justify-content-center\""); 2117 2118 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img"); 2119 2120 WriteAttributeTo(__razor_helper_writer, "src", Tuple.Create(" src=\"", 28005), Tuple.Create("\"", 28123) 2121 , Tuple.Create(Tuple.Create("", 28011), Tuple.Create("/admin/public/GetImage.ashx?image=", 28011), true) 2122 2123 #line 595 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2124 , Tuple.Create(Tuple.Create("", 28045), Tuple.Create<System.Object, System.Int32>(variantImage 2125 2126 #line default 2127 #line hidden 2128 , 28045), false) 2129 , Tuple.Create(Tuple.Create("", 28058), Tuple.Create("&width=75&height=75&crop=5&FillCanvas=true&format=webp&Quality=70", 28058), true) 2130 ); 2131 2132 WriteLiteralTo(__razor_helper_writer, " height=\"75\""); 2133 2134 WriteLiteralTo(__razor_helper_writer, " width=\"75\""); 2135 2136 WriteLiteralTo(__razor_helper_writer, " class=\"p-1 text-small\""); 2137 2138 WriteLiteralTo(__razor_helper_writer, " loading=\"lazy\""); 2139 2140 WriteLiteralTo(__razor_helper_writer, " decoding=\"async\""); 2141 2142 WriteAttributeTo(__razor_helper_writer, "alt", Tuple.Create(" alt=\"", 28202), Tuple.Create("\"", 28236) 2143 2144 #line 595 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2145 , Tuple.Create(Tuple.Create("", 28208), Tuple.Create<System.Object, System.Int32>(product.Name 2146 2147 #line default 2148 #line hidden 2149 , 28208), false) 2150 , Tuple.Create(Tuple.Create("", 28221), Tuple.Create(",", 28221), true) 2151 2152 #line 595 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2153 , Tuple.Create(Tuple.Create(" ", 28222), Tuple.Create<System.Object, System.Int32>(variant.Name 2154 2155 #line default 2156 #line hidden 2157 , 28223), false) 2158 ); 2159 2160 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</figure>\r\n"); 2161 2162 2163 #line 598 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2164 } 2165 else 2166 { 2167 2168 2169 #line default 2170 #line hidden 2171 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<figure"); 2172 2173 WriteLiteralTo(__razor_helper_writer, " class=\"w-100 d-block m-0\""); 2174 2175 WriteAttributeTo(__razor_helper_writer, "onmouseover", Tuple.Create(" onmouseover=\"", 28416), Tuple.Create("\"", 28520) 2176 , Tuple.Create(Tuple.Create("", 28430), Tuple.Create("swift.StaticVariants.SwitchProduct(event,", 28430), true) 2177 , Tuple.Create(Tuple.Create(" ", 28471), Tuple.Create("\'", 28472), true) 2178 2179 #line 601 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2180 , Tuple.Create(Tuple.Create("", 28473), Tuple.Create<System.Object, System.Int32>(product.Id 2181 2182 #line default 2183 #line hidden 2184 , 28473), false) 2185 , Tuple.Create(Tuple.Create("", 28484), Tuple.Create("\',", 28484), true) 2186 , Tuple.Create(Tuple.Create(" ", 28486), Tuple.Create("\'", 28487), true) 2187 2188 #line 601 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2189 , Tuple.Create(Tuple.Create("", 28488), Tuple.Create<System.Object, System.Int32>(defaultPrice 2190 2191 #line default 2192 #line hidden 2193 , 28488), false) 2194 , Tuple.Create(Tuple.Create("", 28501), Tuple.Create("\',", 28501), true) 2195 , Tuple.Create(Tuple.Create(" ", 28503), Tuple.Create("\'", 28504), true) 2196 2197 #line 601 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2198 , Tuple.Create(Tuple.Create("", 28505), Tuple.Create<System.Object, System.Int32>(variantImage 2199 2200 #line default 2201 #line hidden 2202 , 28505), false) 2203 , Tuple.Create(Tuple.Create("", 28518), Tuple.Create("\')", 28518), true) 2204 ); 2205 2206 WriteAttributeTo(__razor_helper_writer, "onmouseout", Tuple.Create(" onmouseout=\"", 28521), Tuple.Create("\"", 28631) 2207 , Tuple.Create(Tuple.Create("", 28534), Tuple.Create("swift.StaticVariants.SwitchProduct(event,", 28534), true) 2208 , Tuple.Create(Tuple.Create(" ", 28575), Tuple.Create("\'", 28576), true) 2209 2210 #line 601 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2211 , Tuple.Create(Tuple.Create("", 28577), Tuple.Create<System.Object, System.Int32>(product.Id 2212 2213 #line default 2214 #line hidden 2215 , 28577), false) 2216 , Tuple.Create(Tuple.Create("", 28588), Tuple.Create("\',", 28588), true) 2217 , Tuple.Create(Tuple.Create(" ", 28590), Tuple.Create("\'", 28591), true) 2218 2219 #line 601 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2220 , Tuple.Create(Tuple.Create("", 28592), Tuple.Create<System.Object, System.Int32>(variantPrice 2221 2222 #line default 2223 #line hidden 2224 , 28592), false) 2225 , Tuple.Create(Tuple.Create("", 28605), Tuple.Create("\',", 28605), true) 2226 , Tuple.Create(Tuple.Create(" ", 28607), Tuple.Create("\'", 28608), true) 2227 2228 #line 601 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2229 , Tuple.Create(Tuple.Create("", 28609), Tuple.Create<System.Object, System.Int32>(defaultProductImage 2230 2231 #line default 2232 #line hidden 2233 , 28609), false) 2234 , Tuple.Create(Tuple.Create("", 28629), Tuple.Create("\')", 28629), true) 2235 ); 2236 2237 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div"); 2238 2239 WriteLiteralTo(__razor_helper_writer, " class=\"d-flex align-items-center justify-content-center\""); 2240 2241 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img"); 2242 2243 WriteAttributeTo(__razor_helper_writer, "src", Tuple.Create(" src=\"", 28744), Tuple.Create("\"", 28862) 2244 , Tuple.Create(Tuple.Create("", 28750), Tuple.Create("/admin/public/GetImage.ashx?image=", 28750), true) 2245 2246 #line 603 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2247 , Tuple.Create(Tuple.Create("", 28784), Tuple.Create<System.Object, System.Int32>(variantImage 2248 2249 #line default 2250 #line hidden 2251 , 28784), false) 2252 , Tuple.Create(Tuple.Create("", 28797), Tuple.Create("&width=75&height=75&crop=5&FillCanvas=true&format=webp&Quality=70", 28797), true) 2253 ); 2254 2255 WriteLiteralTo(__razor_helper_writer, " height=\"75\""); 2256 2257 WriteLiteralTo(__razor_helper_writer, " width=\"75\""); 2258 2259 WriteLiteralTo(__razor_helper_writer, " class=\"p-1 text-small\""); 2260 2261 WriteLiteralTo(__razor_helper_writer, " loading=\"lazy\""); 2262 2263 WriteLiteralTo(__razor_helper_writer, " decoding=\"async\""); 2264 2265 WriteAttributeTo(__razor_helper_writer, "alt", Tuple.Create(" alt=\"", 28941), Tuple.Create("\"", 28975) 2266 2267 #line 603 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2268 , Tuple.Create(Tuple.Create("", 28947), Tuple.Create<System.Object, System.Int32>(product.Name 2269 2270 #line default 2271 #line hidden 2272 , 28947), false) 2273 , Tuple.Create(Tuple.Create("", 28960), Tuple.Create(",", 28960), true) 2274 2275 #line 603 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2276 , Tuple.Create(Tuple.Create(" ", 28961), Tuple.Create<System.Object, System.Int32>(variant.Name 2277 2278 #line default 2279 #line hidden 2280 , 28962), false) 2281 ); 2282 2283 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</figure>\r\n"); 2284 2285 2286 #line 606 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2287 } 2288 } 2289 else 2290 { 2291 2292 2293 #line default 2294 #line hidden 2295 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div"); 2296 2297 WriteLiteralTo(__razor_helper_writer, " class=\"d-flex align-items-center justify-content-center\""); 2298 2299 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2300 2301 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"); 2302 2303 2304 #line 611 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2305 WriteTo(__razor_helper_writer, variant.Name); 2306 2307 2308 #line default 2309 #line hidden 2310 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n"); 2311 2312 2313 #line 613 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2314 } 2315 2316 2317 #line default 2318 #line hidden 2319 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div"); 2320 2321 WriteLiteralTo(__razor_helper_writer, " class=\"visually-hidden\""); 2322 2323 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4>"); 2324 2325 2326 #line 615 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2327 WriteTo(__razor_helper_writer, product.Name); 2328 2329 2330 #line default 2331 #line hidden 2332 WriteLiteralTo(__razor_helper_writer, ", "); 2333 2334 2335 #line 615 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2336 WriteTo(__razor_helper_writer, variant.Name); 2337 2338 2339 #line default 2340 #line hidden 2341 WriteLiteralTo(__razor_helper_writer, "</h4>\r\n"); 2342 2343 2344 #line 616 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2345 2346 2347 #line default 2348 #line hidden 2349 2350 #line 616 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2351 if (!hidePrice) 2352 { 2353 if (isLazyLoadingForProductInfoEnabled) 2354 { 2355 2356 2357 #line default 2358 #line hidden 2359 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 2360 2361 WriteLiteralTo(__razor_helper_writer, " class=\"text-price js-text-price\""); 2362 2363 WriteLiteralTo(__razor_helper_writer, "></span>\r\n"); 2364 2365 2366 #line 621 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2367 } 2368 else 2369 { 2370 2371 2372 #line default 2373 #line hidden 2374 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span"); 2375 2376 WriteLiteralTo(__razor_helper_writer, " class=\"text-price\""); 2377 2378 WriteLiteralTo(__razor_helper_writer, ">"); 2379 2380 2381 #line 624 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2382 WriteTo(__razor_helper_writer, product.Price.PriceFormatted); 2383 2384 2385 #line default 2386 #line hidden 2387 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 2388 2389 2390 #line 625 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2391 } 2392 } 2393 2394 2395 #line default 2396 #line hidden 2397 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</article>\r\n"); 2398 2399 2400 #line 629 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2401 } 2402 2403 variantsCount++; 2404 2405 if (variantsCount == showMaxVariants && optionsCount != showMaxVariants) 2406 { 2407 int left = optionsCount - showMaxVariants; 2408 2409 2410 #line default 2411 #line hidden 2412 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div"); 2413 2414 WriteLiteralTo(__razor_helper_writer, " class=\"variant-option ms-1 d-flex justify-content-center align-items-center\""); 2415 2416 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>+"); 2417 2418 2419 #line 637 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2420 WriteTo(__razor_helper_writer, left); 2421 2422 2423 #line default 2424 #line hidden 2425 WriteLiteralTo(__razor_helper_writer, "</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n"); 2426 2427 2428 #line 639 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2429 } 2430 } 2431 } 2432 2433 2434 #line default 2435 #line hidden 2436 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n"); 2437 2438 2439 #line 643 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2440 2441 variantGroupCount++; 2442 } 2443 2444 2445 #line default 2446 #line hidden 2447 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n"); 2448 2449 2450 #line 648 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2451 } 2452 2453 2454 #line default 2455 #line hidden 2456 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</article>\r\n"); 2457 2458 2459 #line 653 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2460 } 2461 2462 2463 #line default 2464 #line hidden 2465 WriteLiteralTo(__razor_helper_writer, "\t\t</div>\r\n"); 2466 2467 2468 #line 655 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2469 2470 2471 2472 #line default 2473 #line hidden 2474 WriteLiteralTo(__razor_helper_writer, "\t\t<div"); 2475 2476 WriteLiteralTo(__razor_helper_writer, " class=\"my-3\""); 2477 2478 WriteLiteralTo(__razor_helper_writer, " id=\"LoadMoreButton\""); 2479 2480 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t<div"); 2481 2482 WriteLiteralTo(__razor_helper_writer, " class=\"text-center d-flex flex-column gap-3\""); 2483 2484 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t<div"); 2485 2486 WriteLiteralTo(__razor_helper_writer, " class=\"opacity-85\""); 2487 2488 WriteLiteralTo(__razor_helper_writer, ">"); 2489 2490 2491 #line 658 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2492 WriteTo(__razor_helper_writer, loadedProducts); 2493 2494 2495 #line default 2496 #line hidden 2497 WriteLiteralTo(__razor_helper_writer, " "); 2498 2499 2500 #line 658 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2501 WriteTo(__razor_helper_writer, Translate("out of")); 2502 2503 2504 #line default 2505 #line hidden 2506 WriteLiteralTo(__razor_helper_writer, " "); 2507 2508 2509 #line 658 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2510 WriteTo(__razor_helper_writer, productList.TotalProductsCount); 2511 2512 2513 #line default 2514 #line hidden 2515 WriteLiteralTo(__razor_helper_writer, " "); 2516 2517 2518 #line 658 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2519 WriteTo(__razor_helper_writer, Translate("products")); 2520 2521 2522 #line default 2523 #line hidden 2524 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 2525 2526 2527 #line 659 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2528 2529 2530 #line default 2531 #line hidden 2532 2533 #line 659 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2534 if (productList.PageCount != 1) 2535 { 2536 string sortBySelection = Dynamicweb.Context.Current.Request?.Form["SortBy"] ?? ""; 2537 sortBySelection = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("SortBy")) ? Dynamicweb.Context.Current.Request.QueryString.Get("SortBy") : sortBySelection; 2538 string mainProductId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("MainProductID")) ? Dynamicweb.Context.Current.Request.QueryString.Get("MainProductID") : ""; 2539 2540 string searchQuery = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("q")) ? Dynamicweb.Context.Current.Request.QueryString.Get("q") : ""; 2541 string searchLayout = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("SearchLayout")) ? Dynamicweb.Context.Current.Request.QueryString.Get("SearchLayout") : ""; 2542 2543 2544 2545 #line default 2546 #line hidden 2547 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t<form"); 2548 2549 WriteLiteralTo(__razor_helper_writer, " method=\"get\""); 2550 2551 WriteAttributeTo(__razor_helper_writer, "action", Tuple.Create(" action=\"", 31602), Tuple.Create("\"", 31615) 2552 2553 #line 668 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2554 , Tuple.Create(Tuple.Create("", 31611), Tuple.Create<System.Object, System.Int32>(url 2555 2556 #line default 2557 #line hidden 2558 , 31611), false) 2559 ); 2560 2561 WriteLiteralTo(__razor_helper_writer, " data-response-target-element=\"content\""); 2562 2563 WriteLiteralTo(__razor_helper_writer, " class=\"w-100\""); 2564 2565 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2566 2567 2568 #line 669 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2569 2570 2571 #line default 2572 #line hidden 2573 2574 #line 669 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2575 foreach (FacetGroupViewModel facetGroup in productList.FacetGroups) 2576 { 2577 foreach (FacetViewModel facetItem in facetGroup.Facets) 2578 { 2579 foreach (FacetOptionViewModel facetOption in facetItem.Options) 2580 { 2581 if (facetOption.Selected) 2582 { 2583 2584 2585 #line default 2586 #line hidden 2587 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t\t\t\t<input"); 2588 2589 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 2590 2591 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 31993), Tuple.Create("\"", 32025) 2592 2593 #line 677 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2594 , Tuple.Create(Tuple.Create("", 32000), Tuple.Create<System.Object, System.Int32>(facetItem.QueryParameter 2595 2596 #line default 2597 #line hidden 2598 , 32000), false) 2599 ); 2600 2601 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 32026), Tuple.Create("\"", 32054) 2602 , Tuple.Create(Tuple.Create("", 32034), Tuple.Create("[", 32034), true) 2603 2604 #line 677 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2605 , Tuple.Create(Tuple.Create("", 32035), Tuple.Create<System.Object, System.Int32>(facetOption.Value 2606 2607 #line default 2608 #line hidden 2609 , 32035), false) 2610 , Tuple.Create(Tuple.Create("", 32053), Tuple.Create("]", 32053), true) 2611 ); 2612 2613 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2614 2615 2616 #line 678 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2617 } 2618 } 2619 } 2620 } 2621 2622 2623 #line default 2624 #line hidden 2625 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t\t\t\t<input"); 2626 2627 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 2628 2629 WriteLiteralTo(__razor_helper_writer, " name=\"PageSize\""); 2630 2631 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 32144), Tuple.Create("\"", 32161) 2632 2633 #line 683 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2634 , Tuple.Create(Tuple.Create("", 32152), Tuple.Create<System.Object, System.Int32>(pageSize 2635 2636 #line default 2637 #line hidden 2638 , 32152), false) 2639 ); 2640 2641 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t<input"); 2642 2643 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 2644 2645 WriteLiteralTo(__razor_helper_writer, " name=\"SortBy\""); 2646 2647 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 32205), Tuple.Create("\"", 32229) 2648 2649 #line 684 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2650 , Tuple.Create(Tuple.Create("", 32213), Tuple.Create<System.Object, System.Int32>(sortBySelection 2651 2652 #line default 2653 #line hidden 2654 , 32213), false) 2655 ); 2656 2657 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t<input"); 2658 2659 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 2660 2661 WriteLiteralTo(__razor_helper_writer, " name=\"RequestType\""); 2662 2663 WriteLiteralTo(__razor_helper_writer, " value=\"UpdateList\""); 2664 2665 WriteLiteralTo(__razor_helper_writer, ">\r\n\r\n"); 2666 2667 2668 #line 687 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2669 2670 2671 #line default 2672 #line hidden 2673 2674 #line 687 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2675 if (!string.IsNullOrEmpty(searchQuery)) 2676 { 2677 2678 2679 #line default 2680 #line hidden 2681 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t<input"); 2682 2683 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 2684 2685 WriteLiteralTo(__razor_helper_writer, " name=\"q\""); 2686 2687 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 32395), Tuple.Create("\"", 32415) 2688 2689 #line 689 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2690 , Tuple.Create(Tuple.Create("", 32403), Tuple.Create<System.Object, System.Int32>(searchQuery 2691 2692 #line default 2693 #line hidden 2694 , 32403), false) 2695 ); 2696 2697 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2698 2699 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t<input"); 2700 2701 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 2702 2703 WriteLiteralTo(__razor_helper_writer, " name=\"SearchLayout\""); 2704 2705 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 32466), Tuple.Create("\"", 32487) 2706 2707 #line 690 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2708 , Tuple.Create(Tuple.Create("", 32474), Tuple.Create<System.Object, System.Int32>(searchLayout 2709 2710 #line default 2711 #line hidden 2712 , 32474), false) 2713 ); 2714 2715 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2716 2717 2718 #line 691 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2719 } 2720 2721 2722 #line default 2723 #line hidden 2724 WriteLiteralTo(__razor_helper_writer, "\r\n"); 2725 2726 2727 #line 693 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2728 2729 2730 #line default 2731 #line hidden 2732 2733 #line 693 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2734 if (!string.IsNullOrEmpty(mainProductId)) 2735 { 2736 2737 2738 #line default 2739 #line hidden 2740 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t\t\t\t<input"); 2741 2742 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 2743 2744 WriteLiteralTo(__razor_helper_writer, " name=\"MainProductID\""); 2745 2746 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 32609), Tuple.Create("\"", 32631) 2747 2748 #line 695 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2749 , Tuple.Create(Tuple.Create("", 32617), Tuple.Create<System.Object, System.Int32>(mainProductId 2750 2751 #line default 2752 #line hidden 2753 , 32617), false) 2754 ); 2755 2756 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2757 2758 2759 #line 696 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2760 } 2761 2762 2763 #line default 2764 #line hidden 2765 WriteLiteralTo(__razor_helper_writer, "\r\n"); 2766 2767 2768 #line 698 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2769 2770 2771 #line default 2772 #line hidden 2773 2774 #line 698 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2775 2776 string nextPageLink = "/Default.aspx?ID=" + Pageview.Page.ID + "&PageSize=" + pageSize + "&SortBy=" + sortBySelection; 2777 2778 foreach (FacetGroupViewModel facetGroup in productList.FacetGroups) 2779 { 2780 foreach (FacetViewModel facetItem in facetGroup.Facets) 2781 { 2782 foreach (FacetOptionViewModel facetOption in facetItem.Options) 2783 { 2784 if (facetOption.Selected) 2785 { 2786 nextPageLink += "&" + facetItem.QueryParameter + "=[" + facetOption.Value + "]"; 2787 } 2788 } 2789 } 2790 } 2791 2792 nextPageLink += !string.IsNullOrEmpty(searchQuery) ? "&q=" + searchQuery : ""; 2793 2794 2795 #line default 2796 #line hidden 2797 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n\t\t\t\t\t\t<a"); 2798 2799 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 33330), Tuple.Create("\"", 33350) 2800 2801 #line 718 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2802 , Tuple.Create(Tuple.Create("", 33337), Tuple.Create<System.Object, System.Int32>(nextPageLink 2803 2804 #line default 2805 #line hidden 2806 , 33337), false) 2807 ); 2808 2809 WriteLiteralTo(__razor_helper_writer, " class=\"btn btn-primary\""); 2810 2811 WriteLiteralTo(__razor_helper_writer, " onclick=\"swift.ProductList.Update(event)\""); 2812 2813 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 33417), Tuple.Create("\"", 33446) 2814 , Tuple.Create(Tuple.Create("", 33422), Tuple.Create("LoadMoreButton_", 33422), true) 2815 2816 #line 718 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2817 , Tuple.Create(Tuple.Create("", 33437), Tuple.Create<System.Object, System.Int32>(Model.ID 2818 2819 #line default 2820 #line hidden 2821 , 33437), false) 2822 ); 2823 2824 WriteLiteralTo(__razor_helper_writer, ">"); 2825 2826 2827 #line 718 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2828 WriteTo(__razor_helper_writer, Translate("Load more products")); 2829 2830 2831 #line default 2832 #line hidden 2833 WriteLiteralTo(__razor_helper_writer, "</a>\r\n\t\t\t\t\t</form>\r\n"); 2834 2835 2836 #line 720 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2837 } 2838 2839 2840 #line default 2841 #line hidden 2842 WriteLiteralTo(__razor_helper_writer, "\t\t\t</div>\r\n\t\t</div>\r\n"); 2843 2844 2845 #line 723 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2846 } 2847 else 2848 { 2849 if (!Pageview.IsVisualEditorMode) 2850 { 2851 2852 2853 #line default 2854 #line hidden 2855 WriteLiteralTo(__razor_helper_writer, "\t\t\t<div"); 2856 2857 WriteLiteralTo(__razor_helper_writer, " class=\"alert alert-dark m-0\""); 2858 2859 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2860 2861 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t"); 2862 2863 2864 #line 729 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2865 WriteTo(__razor_helper_writer, Translate("We did not find anything matching your search result")); 2866 2867 2868 #line default 2869 #line hidden 2870 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t</div>\r\n"); 2871 2872 2873 #line 731 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2874 } 2875 else 2876 { 2877 2878 2879 #line default 2880 #line hidden 2881 WriteLiteralTo(__razor_helper_writer, "\t\t\t<div"); 2882 2883 WriteLiteralTo(__razor_helper_writer, " class=\"alert alert-dark m-0\""); 2884 2885 WriteLiteralTo(__razor_helper_writer, " role=\"alert\""); 2886 2887 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t<span>"); 2888 2889 2890 #line 735 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2891 WriteTo(__razor_helper_writer, Translate("Product list: The list will be shown here, if any")); 2892 2893 2894 #line default 2895 #line hidden 2896 WriteLiteralTo(__razor_helper_writer, "</span>\r\n\t\t\t</div>\r\n"); 2897 2898 2899 #line 737 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2900 } 2901 } 2902 2903 2904 #line default 2905 #line hidden 2906 }); 2907 2908 #line 739 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2909 } 2910 #line default 2911 #line hidden 2912 2913 2914 public RazorEngine_f93cb852c3a54181bba03e448592ce4b() { 2915 } 2916 2917 public override void Execute() { 2918 WriteLiteral(" "); 2919 2920 WriteLiteral("\r\n"); 2921 2922 WriteLiteral(" "); 2923 2924 WriteLiteral("\r\n"); 2925 2926 WriteLiteral("\r\n"); 2927 2928 WriteLiteral("\r\n\r\n"); 2929 2930 WriteLiteral("\r\n"); 2931 2932 2933 #line 27 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2934 2935 if (Dynamicweb.Context.Current.Items.Contains("ProductList")) 2936 { 2937 productList = (ProductListViewModel)Dynamicweb.Context.Current.Items["ProductList"]; 2938 } 2939 2940 showPricesWithVat = Pageview.Area.EcomPricesWithVat.ToLower(); 2941 neverShowVat = string.IsNullOrEmpty(showPricesWithVat); 2942 2943 if (isLazyLoadingForProductInfoEnabled) 2944 { 2945 if (Dynamicweb.Context.Current.Items.Contains("ProductInfoFeed")) 2946 { 2947 productInfoFeed = Dynamicweb.Context.Current.Items["ProductInfoFeed"]?.ToString(); 2948 if (!string.IsNullOrEmpty(productInfoFeed)) 2949 { 2950 productInfoFeed = $"data-product-info-feed=\"{productInfoFeed}\""; 2951 } 2952 } 2953 liveInfoClass = "js-live-info"; 2954 } 2955 2956 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 2957 string themePadding = theme != string.Empty ? "p-3" : string.Empty; 2958 2959 2960 #line default 2961 #line hidden 2962 WriteLiteral("\r\n\r\n"); 2963 2964 2965 #line 53 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2966 if (!isDetailPage) 2967 { 2968 if (!string.IsNullOrEmpty(theme)) 2969 { 2970 2971 2972 #line default 2973 #line hidden 2974 WriteLiteral("\t\t<div"); 2975 2976 WriteAttribute("class", Tuple.Create(" class=\"", 1905), Tuple.Create("\"", 1978) 2977 , Tuple.Create(Tuple.Create("", 1913), Tuple.Create("h-100", 1913), true) 2978 2979 #line 57 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2980 , Tuple.Create(Tuple.Create("", 1918), Tuple.Create<System.Object, System.Int32>(theme 2981 2982 #line default 2983 #line hidden 2984 , 1918), false) 2985 2986 #line 57 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2987 , Tuple.Create(Tuple.Create(" ", 1926), Tuple.Create<System.Object, System.Int32>(themePadding 2988 2989 #line default 2990 #line hidden 2991 , 1927), false) 2992 , Tuple.Create(Tuple.Create(" ", 1940), Tuple.Create("item_", 1941), true) 2993 2994 #line 57 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 2995 , Tuple.Create(Tuple.Create("", 1946), Tuple.Create<System.Object, System.Int32>(Model.Item.SystemName.ToLower() 2996 2997 #line default 2998 #line hidden 2999 , 1946), false) 3000 ); 3001 3002 WriteLiteral(" "); 3003 3004 3005 #line 57 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3006 Write(productInfoFeed); 3007 3008 3009 #line default 3010 #line hidden 3011 WriteLiteral(">\r\n"); 3012 3013 3014 #line 58 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3015 3016 3017 #line default 3018 #line hidden 3019 3020 #line 58 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3021 3022 3023 #line default 3024 #line hidden 3025 3026 #line 58 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3027 Write(RenderProductList()); 3028 3029 3030 #line default 3031 #line hidden 3032 3033 #line 58 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3034 3035 3036 #line default 3037 #line hidden 3038 WriteLiteral("\r\n\t\t</div>\r\n"); 3039 3040 3041 #line 60 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3042 } 3043 else 3044 { 3045 3046 3047 #line default 3048 #line hidden 3049 WriteLiteral("\t\t<div"); 3050 3051 WriteAttribute("class", Tuple.Create(" class=\"", 2058), Tuple.Create("\"", 2108) 3052 , Tuple.Create(Tuple.Create("", 2066), Tuple.Create("pt-3", 2066), true) 3053 , Tuple.Create(Tuple.Create(" ", 2070), Tuple.Create("item_", 2071), true) 3054 3055 #line 63 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3056 , Tuple.Create(Tuple.Create("", 2076), Tuple.Create<System.Object, System.Int32>(Model.Item.SystemName.ToLower() 3057 3058 #line default 3059 #line hidden 3060 , 2076), false) 3061 ); 3062 3063 WriteLiteral(" "); 3064 3065 3066 #line 63 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3067 Write(productInfoFeed); 3068 3069 3070 #line default 3071 #line hidden 3072 WriteLiteral(">\r\n"); 3073 3074 3075 #line 64 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3076 3077 3078 #line default 3079 #line hidden 3080 3081 #line 64 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3082 3083 3084 #line default 3085 #line hidden 3086 3087 #line 64 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3088 Write(RenderProductList()); 3089 3090 3091 #line default 3092 #line hidden 3093 3094 #line 64 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3095 3096 3097 #line default 3098 #line hidden 3099 WriteLiteral("\r\n\t\t</div>\r\n"); 3100 3101 3102 #line 66 "D:\dynamicweb.net\Solutions\twodayco3\evasolo.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductListGridView_Custom.cshtml" 3103 } 3104 } 3105 3106 3107 #line default 3108 #line hidden 3109 WriteLiteral("\r\n"); 3110 3111 } 3112 } 3113 } 3114

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 @using Dynamicweb.Ecommerce.CustomerExperienceCenter.Favorites 4 @using System.Linq 5 @using System.IO @*//CUSTOM*@ 6 @using Dynamicweb.Core 7 @using Dynamicweb.Core.Encoders @*//CUSTOM*@ 8 @using Dynamicweb.Environment 9 @using System.Globalization 10 11 @* TODO: REFACTURE/UPGRADE TO SWIFT (v1.25.0) *@ 12 13 @functions 14 { 15 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsLazyLoadingForProductInfoEnabled"]); 16 string liveInfoClass = ""; 17 string productInfoFeed = ""; 18 19 string showPricesWithVat = ""; 20 bool neverShowVat = false; 21 22 bool isDetailPage = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("ProductID")); 23 24 ProductListViewModel productList = new ProductListViewModel(); 25 } 26 27 @{ 28 if (Dynamicweb.Context.Current.Items.Contains("ProductList")) 29 { 30 productList = (ProductListViewModel)Dynamicweb.Context.Current.Items["ProductList"]; 31 } 32 33 showPricesWithVat = Pageview.Area.EcomPricesWithVat.ToLower(); 34 neverShowVat = string.IsNullOrEmpty(showPricesWithVat); 35 36 if (isLazyLoadingForProductInfoEnabled) 37 { 38 if (Dynamicweb.Context.Current.Items.Contains("ProductInfoFeed")) 39 { 40 productInfoFeed = Dynamicweb.Context.Current.Items["ProductInfoFeed"]?.ToString(); 41 if (!string.IsNullOrEmpty(productInfoFeed)) 42 { 43 productInfoFeed = $"data-product-info-feed=\"{productInfoFeed}\""; 44 } 45 } 46 liveInfoClass = "js-live-info"; 47 } 48 49 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 50 string themePadding = theme != string.Empty ? "p-3" : string.Empty; 51 } 52 53 @if (!isDetailPage) 54 { 55 if (!string.IsNullOrEmpty(theme)) 56 { 57 <div class="h-100@(theme) @themePadding item_@Model.Item.SystemName.ToLower()" @productInfoFeed> 58 @{@RenderProductList()} 59 </div> 60 } 61 else 62 { 63 <div class="pt-3 item_@Model.Item.SystemName.ToLower()" @productInfoFeed> 64 @{@RenderProductList()} 65 </div> 66 } 67 } 68 69 @helper RenderProductList() 70 { 71 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 72 bool anonymousUser = Pageview.User == null; 73 bool hidePrice = anonymousUsersLimitations.Contains("price") && anonymousUser || Pageview.AreaSettings.GetBoolean("ErpDownHidePrices") && !Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsWebServiceConnectionAvailable"]); 74 75 string productTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("ProductTheme")) ? " theme " + Model.Item.GetRawValueString("ProductTheme").Replace(" ", "").Trim().ToLower() : ""; 76 string productThemePadding = productTheme != string.Empty ? "p-3" : string.Empty; 77 78 string url = Dynamicweb.Context.Current.Request.RawUrl; 79 bool hideFavoritesSelector = !string.IsNullOrEmpty(Model.Item.GetString("HideFavoritesSelector")) ? Model.Item.GetBoolean("HideFavoritesSelector") : false; 80 string staticVariantsLayout = Model.Item.GetRawValueString("StaticVariantsLayout", "hide"); 81 82 string groupId = productList?.Group?.Id != null ? productList.Group.Id : ""; 83 84 var badgeParms = new Dictionary<string, object>(); 85 badgeParms.Add("saleBadgeType", Model.Item.GetRawValue("SaleBadgeType")); 86 badgeParms.Add("saleBadgeCssClassName", Model.Item.GetRawValue("SaleBadgeDesign")); 87 badgeParms.Add("newBadgeCssClassName", Model.Item.GetRawValue("NewBadgeDesign")); 88 badgeParms.Add("newPublicationDays", Model.Item.GetInt32("NewPublicationDays")); 89 badgeParms.Add("campaignBadgesValues", Model.Item.GetRawValueString("CampaignBadges")); 90 91 bool saleBadgeEnabled = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("SaleBadgeDesign")) && Model.Item.GetRawValueString("SaleBadgeDesign") != "none" ? true : false; 92 bool newBadgeEnabled = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("NewBadgeDesign")) && Model.Item.GetRawValueString("NewBadgeDesign") != "none" ? true : false; 93 94 string googleTagManagerID = Pageview.AreaSettings.GetString("GoogleTagManagerID"); 95 string googleAnalyticsMeasurementID = Pageview.AreaSettings.GetString("GoogleAnalyticsMeasurementID"); 96 var cookieOptInLevel = CookieManager.GetCookieOptInLevel(); 97 bool allowTracking = cookieOptInLevel == CookieOptInLevel.All || (cookieOptInLevel == CookieOptInLevel.Functional && CookieManager.GetCookieOptInCategories().Contains("Statistical")); 98 99 var favoriteParameters = new Dictionary<string, object>(); 100 if (!anonymousUser && !hideFavoritesSelector) 101 { 102 int defaultFavoriteListId = 0; 103 104 IEnumerable<FavoriteList> favoreiteLists = Pageview.User.GetFavoriteLists(); 105 if (favoreiteLists.Count() == 1) 106 { 107 foreach (FavoriteList list in favoreiteLists) 108 { 109 defaultFavoriteListId = list.ListId; 110 } 111 } 112 113 favoriteParameters.Add("ListId", defaultFavoriteListId); 114 } 115 116 // CUSTOM: hide "require carrier" area setting 117 bool hideRequireCarrierOnProductlist = Converter.ToBoolean(Pageview.AreaSettings.GetItem("CustomSettings").GetRawValueString("HideRequiresCarrierOnProductList_Custom", "False")); 118 119 //CUSTOM 120 string discountType = Model.Item.GetRawValueString("Custom_DiscountType", "none"); 121 string discountTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Custom_DiscountTheme")) ? "theme " + Model.Item.GetRawValueString("Custom_DiscountTheme").Replace(" ", "").Trim().ToLower() : string.Empty; 122 string discountIconColor = Model.Item.GetString("Custom_DiscountIconColor", "text-inherit"); 123 string discountIconSize = Model.Item.GetRawValueString("Custom_DiscountIconSize", "2"); 124 string discountImageSrc = !string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) ? Model.Item.GetFile("Custom_DiscountImage").Path : string.Empty; 125 string discountImagePath = discountImageSrc != string.Empty ? discountImageSrc : Model.Item.GetRawValueString("Custom_DiscountIcon", string.Empty); 126 discountImagePath = Path.GetExtension(discountImagePath).ToLower() != ".svg" ? "/Admin/Public/GetImage.ashx?image=" + discountImagePath + "&height=" + discountIconSize + "&width=" + discountIconSize + "&Crop=0&format=webp" : discountImagePath; 127 string discountImgAltText = Model.Item.GetRawValueString("FeatureAltText", string.Empty); 128 //--CUSTOM 129 130 if (productList.TotalProductsCount > 0) 131 { 132 int pageSizeSetting = 30; 133 int pageSize = productList.PageSize; 134 pageSize += pageSizeSetting; 135 136 int loadedProducts = productList.PageSize > productList.TotalProductsCount ? productList.TotalProductsCount : productList.PageSize; 137 138 <div class="grid grid-2 grid-lg-3"> 139 140 @if ((!string.IsNullOrWhiteSpace(googleAnalyticsMeasurementID) || !string.IsNullOrWhiteSpace(googleTagManagerID))) 141 { 142 <script> 143 window.addEventListener('CookieInformationConsentGiven', function (event) { 144 if (CookieInformation.getConsentGivenFor('cookie_cat_necessary')) { 145 gtag("event", "view_item_list", { 146 item_list_id: "product_list_gridview", 147 item_list_name: "Product list (Gridview)", 148 items: [ 149 @foreach (ProductViewModel product in productList.Products) 150 { 151 <text>{ 152 item_id: "@product.Number", 153 item_name: "@Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.Name)", 154 currency: "@product.Price.CurrencyCode", 155 price: @PriceViewModelExtensions.ToStringInvariant(product.Price) 156 },</text> 157 } 158 ] 159 }); 160 } 161 }, false); 162 </script> 163 } 164 165 @foreach (ProductViewModel product in productList.Products) 166 { 167 string link = product.GetProductLink(GetPageIdByNavigationTag("Shop"), false); 168 169 string imagePath = product?.DefaultImage?.Value ?? ""; 170 imagePath = Dynamicweb.Context.Current.Server.UrlEncode(imagePath); 171 172 string ratio = Model.Item.GetRawValueString("ImageAspectRatio", ""); 173 ratio = ratio != "0" ? ratio : ""; 174 string ratioCssClass = ratio != "" ? " ratio" : ""; 175 string ratioVariable = ratio != "" ? "--bs-aspect-ratio: " + ratio : ""; 176 177 string imagePathXs = "/Admin/Public/GetImage.ashx?width=" + 480 + "&image=" + imagePath + "&format=webp"; 178 string imagePathS = "/Admin/Public/GetImage.ashx?width=" + 640 + "&image=" + imagePath + "&format=webp"; 179 string imagePathFallBack = "/Admin/Public/GetImage.ashx?width=" + 640 + "&image=" + imagePath + "&format=webp"; 180 181 string imageTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("ImageTheme")) ? " theme " + Model.Item.GetRawValueString("ImageTheme").Replace(" ", "").Trim().ToLower() : ""; 182 string imageThemePadding = imageTheme != string.Empty ? "p-3" : string.Empty; 183 string imageOutlineStyle = imageTheme == string.Empty ? "style=\"border: 1px solid transparent\"" : string.Empty; 184 185 string imageId = "ProductImage_" + product.Id + product.VariantId; 186 string priceId = "ProductPrice_" + product.Id + product.VariantId; 187 188 @* Alternative image *@ 189 var supportedImageFormats = new string[] { ".jpg", ".webp", ".png", ".gif" }; 190 string defaultImage = product.DefaultImage != null ? product.DefaultImage.Value : ""; 191 var selectedAssetCategories = Model.Item.GetRawValueString("AlternativeImageAssets"); 192 IEnumerable<MediaViewModel> alternativeImagesList = product.AssetCategories.Where(x => selectedAssetCategories.Contains(x.SystemName)).SelectMany(x => x.Assets); 193 194 if (alternativeImagesList.FirstOrDefault() != null) 195 { 196 alternativeImagesList = alternativeImagesList.OrderByDescending(x => x.Value.Equals(defaultImage)); 197 198 if (alternativeImagesList.First().Value == defaultImage) 199 { 200 alternativeImagesList = alternativeImagesList.Skip(1); 201 } 202 } 203 204 string alternativeImage = alternativeImagesList.FirstOrDefault() != null ? alternativeImagesList.FirstOrDefault().Value : ""; 205 alternativeImage = !string.IsNullOrEmpty(alternativeImage) ? "/Admin/Public/GetImage.ashx?width=" + 640 + "&image=" + alternativeImage + "&format=webp" : ""; 206 207 @* Badges *@ 208 DateTime createdDate = product.Created.Value; 209 bool showBadges = saleBadgeEnabled && product.Discount.Price != 0 ? true : false; 210 showBadges = (newBadgeEnabled && Model.Item.GetInt32("NewPublicationDays") == 0) || (newBadgeEnabled && (createdDate.AddDays(Model.Item.GetInt32("NewPublicationDays")) > DateTime.Now)) ? true : showBadges; 211 showBadges = !string.IsNullOrEmpty(Model.Item.GetRawValueString("CampaignBadges")) ? true : showBadges; 212 213 @* Main features *@ 214 IEnumerable<string> selectedDisplayGroups = Model.Item.GetRawValueString("MainFeatures").Split(',').ToList(); 215 List<CategoryFieldViewModel> mainFeatures = new List<CategoryFieldViewModel>(); 216 217 foreach (var selection in selectedDisplayGroups) 218 { 219 foreach (CategoryFieldViewModel group in product.FieldDisplayGroups.Values) 220 { 221 if (selection == group.Id) 222 { 223 mainFeatures.Add(group); 224 } 225 } 226 } 227 228 // CUSTOM 229 bool requiresCustomCarrier = Converter.ToBoolean(product.ProductFields["Custom_Carrier"].Value); 230 231 <article class="position-relative@(productTheme) product-list-item js-product @liveInfoClass" data-product-id="@product.Id" itemscope itemtype="https://schema.org/Product"> 232 @if (!anonymousUser) 233 { 234 if (!hideFavoritesSelector) 235 { 236 <div class="position-absolute top-0 end-0 my-3" style="z-index: 2"> 237 @RenderPartial("Components/ToggleFavorite.cshtml", product, favoriteParameters) 238 </div> 239 } 240 } 241 242 @if (showBadges) 243 { 244 // #21413 - CUSTOM "text-start" class to left align badges 245 <div class="position-absolute top-0 left-0 p-1 p-lg-2 ps-0 ps-lg-0 text-start" style="z-index: 2"> 246 @RenderPartial("Components/EcommerceBadge.cshtml", product, badgeParms) 247 </div> 248 } 249 250 <div class="d-flex flex-column d-block h-100"> 251 @{ 252 string clickProductLink = string.Empty; 253 if ((!string.IsNullOrWhiteSpace(googleAnalyticsMeasurementID) || !string.IsNullOrWhiteSpace(googleTagManagerID))) 254 { 255 clickProductLink = "onclick=\"return clickProductLink('" + @product.Id + "', '" + @Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.Name) + "', '" + @Dynamicweb.Core.Encoders.HtmlEncoder.JavaScriptStringEncode(product.VariantName) + "', '" + @product.Price.CurrencyCode + "', '" + @PriceViewModelExtensions.ToStringInvariant(product.Price) + "')\""; 256 } 257 } 258 <a href="@link" class="text-decoration-none d-flex flex-column" @clickProductLink> 259 @if ((!string.IsNullOrWhiteSpace(googleAnalyticsMeasurementID) || !string.IsNullOrWhiteSpace(googleTagManagerID))) 260 { 261 <script> 262 window.addEventListener('CookieInformationConsentGiven', function (event) { 263 if (CookieInformation.getConsentGivenFor('cookie_cat_necessary')) { 264 function clickProductLink(productId, productName, productVariant, productCurrency, productPrice) { 265 if (typeof gtag !== "undefined") { 266 gtag("event", "select_item", { 267 item_list_id: "product_list_gridview", 268 item_list_name: "Product list (Gridview)", 269 items: [ 270 { 271 item_id: productId, 272 item_name: productName, 273 currency: productCurrency, 274 item_list_id: "product_list_gridview", 275 item_list_name: "Product list (Gridview)", 276 item_variant: productVariant, 277 price: productPrice 278 } 279 ] 280 }); 281 } 282 } 283 } 284 }, false); 285 </script> 286 } 287 288 <div class="@productThemePadding order-2"> 289 <div class="flex-grow-1"> 290 <h3 class="h6 mb-0 text-break"> 291 <span itemprop="name" content="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(product.Name)" class="d-none"></span> 292 @product.Name @if (!string.IsNullOrEmpty(product.VariantName)) 293 {<text>(@product.VariantName)</text>} 294 </h3> 295 @if (!Model.Item.GetBoolean("HideProductNumber")) 296 { 297 <p class="fs-7 opacity-85 mb-2">@product.Number</p> 298 } 299 @if (mainFeatures.Count > 0) 300 { 301 // CUSTOM CSS 302 <ul class="p-0 lh-sm list-unstyled mt-2 mb-2" style="list-style-position: inside"> 303 @foreach (CategoryFieldViewModel mainFeatureGroup in mainFeatures) 304 { 305 foreach (var fieldViewModel in mainFeatureGroup.Fields) 306 { 307 var field = fieldViewModel.Value; 308 string fieldValue = field?.Value is object ? field.Value.ToString() : ""; 309 310 if (fieldValue != "") 311 { 312 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 313 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 314 315 if (field.Value.GetType() == typeof(System.Collections.Generic.List<FieldOptionValueViewModel>)) 316 { 317 fieldValue = ""; 318 319 foreach (FieldOptionValueViewModel option in field.Value as System.Collections.Generic.List<FieldOptionValueViewModel>) 320 { 321 fieldValue = option.Name; 322 } 323 } 324 325 bool isColor = false; 326 if (fieldValue.Contains("#") && (Translate(field.Name) == Translate("Color") || Translate(field.Name) == Translate("Colour"))) 327 { 328 isColor = true; 329 } 330 331 if (!string.IsNullOrEmpty(fieldValue)) 332 { 333 if (!isColor) 334 { 335 // CUSTOM removed prefix from value 336 <li>@fieldValue</li> 337 } 338 else 339 { 340 <li class="position-relative"> 341 <span class="colorbox-sm" style="background-color: @fieldValue"></span> 342 </li> 343 } 344 } 345 } 346 } 347 } 348 </ul> 349 } 350 </div> 351 352 @* CUSTOM *@ 353 @if (!hideRequireCarrierOnProductlist && requiresCustomCarrier) 354 { 355 <small class="fs-8"><strong>@Translate("This product requires a carrier")</strong></small> 356 } 357 358 @if (!hidePrice) 359 { 360 string priceMin = ""; 361 string priceMax = ""; 362 363 <div> 364 <div itemprop="offers" itemtype="http://schema.org/Offer" itemscope> 365 <span itemprop="priceCurrency" content="@product.Price.CurrencyCode" class="d-none"></span> 366 367 @if (showPricesWithVat == "false" && !neverShowVat) 368 { 369 if (isLazyLoadingForProductInfoEnabled) 370 { 371 <span itemprop="price" content="" class="d-none"></span> 372 <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> 373 } 374 else 375 { 376 string beforePrice = product.PriceBeforeDiscount.PriceWithoutVatFormatted; 377 378 <span itemprop="price" content="@product.Price.PriceWithoutVat.ToString(CultureInfo.InvariantCulture)" class="d-none"></span> 379 if (product.Price.Price != product.PriceBeforeDiscount.Price) 380 { 381 <span class="text-decoration-line-through opacity-75 me-3 text-price">@beforePrice</span> 382 } 383 } 384 } 385 else 386 { 387 if (isLazyLoadingForProductInfoEnabled) 388 { 389 <span itemprop="price" content="" class="d-none"></span> 390 <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> 391 } 392 else 393 { 394 string beforePrice = product.PriceBeforeDiscount.PriceFormatted; 395 396 <span itemprop="price" content="@product.Price.Price.ToString(CultureInfo.InvariantCulture)" class="d-none"></span> 397 if (product.Price.Price != product.PriceBeforeDiscount.Price) 398 { 399 <span class="text-decoration-line-through opacity-75 me-3 text-price">@beforePrice</span> 400 } 401 } 402 } 403 404 @if (showPricesWithVat == "false" && !neverShowVat) 405 { 406 if (isLazyLoadingForProductInfoEnabled) 407 { 408 <span class="text-price js-text-price"><span class="spinner-border" role="status"></span></span> 409 } 410 else 411 { 412 string price = product.Price.PriceWithoutVatFormatted; 413 if (product?.VariantInfo?.VariantInfo != null) 414 { 415 priceMin = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : ""; 416 priceMax = product?.VariantInfo?.PriceMax?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithoutVatFormatted : ""; 417 } 418 if (priceMin != priceMax) 419 { 420 price = priceMin + " - " + priceMax; 421 } 422 <span class="text-price">@price</span> 423 } 424 } 425 else 426 { 427 if (isLazyLoadingForProductInfoEnabled) 428 { 429 <span class="text-price js-text-price"><span class="spinner-border" role="status"></span></span> 430 } 431 else 432 { 433 string price = product.Price.PriceFormatted; 434 if (product?.VariantInfo?.VariantInfo != null) 435 { 436 priceMin = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : ""; 437 priceMax = product?.VariantInfo?.PriceMax?.PriceFormatted != null ? product.VariantInfo.PriceMax.PriceFormatted : ""; 438 } 439 if (priceMin != priceMax) 440 { 441 price = priceMin + " - " + priceMax; 442 } 443 <span class="text-price">@price</span> 444 } 445 } 446 447 @*//CUSTOM*@ 448 @if (discountType == "icon-tooltip" && product.Price.Price != product.PriceBeforeDiscount.Price) 449 { 450 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 451 if (discountInfo != null) 452 { 453 if ((!string.IsNullOrEmpty(Model.Item.GetString("Custom_DiscountImage")) || !discountImagePath.ToLower().Contains("none")) && discountImagePath != string.Empty) 454 { 455 <span 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"> 456 @if (Path.GetExtension(discountImagePath).ToLower() == ".svg") 457 { 458 <span class="icon-auto @(discountIconColor)" style="vertical-align:text-top;height:@(discountIconSize)px;width:@(discountIconSize)px;">@ReadFile(discountImagePath)</span> 459 } 460 else 461 { 462 <img loading="lazy" src="@(discountImagePath)" alt="@HtmlEncoder.HtmlAttributeEncode(discountImgAltText)" title="@HtmlEncoder.HtmlAttributeEncode(discountImgAltText)" style="height:@(discountIconSize)px;width:@(discountIconSize)px;"> 463 } 464 </span> 465 } 466 } 467 } 468 @*//--CUSTOM*@ 469 470 </div> 471 @if (showPricesWithVat == "false" && !neverShowVat) 472 { 473 if (isLazyLoadingForProductInfoEnabled) 474 { 475 <div class="fs-7 opacity-85 text-price js-text-price-with-vat d-none" data-suffix="@Translate("Incl. VAT")"></div> 476 } 477 else 478 { 479 string price = product.Price.PriceWithVatFormatted; 480 if (product?.VariantInfo?.VariantInfo != null) 481 { 482 priceMin = product?.VariantInfo?.PriceMin?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithVatFormatted : ""; 483 priceMax = product?.VariantInfo?.PriceMax?.PriceWithVatFormatted != null ? product.VariantInfo.PriceMax.PriceWithVatFormatted : ""; 484 } 485 if (priceMin != priceMax) 486 { 487 price = priceMin + " - " + priceMax; 488 } 489 <div class="fs-7 opacity-85 text-price">@price @Translate("Incl. VAT")</div> 490 } 491 } 492 493 @*//CUSTOM*@ 494 @if (discountType == "inline" && product.Price.Price != product.PriceBeforeDiscount.Price) 495 { 496 var discountInfo = Smartpage.EvaSolo.CampaignPrices.Helpers.DiscountHelper.GetDiscountInfo(product.Id, product.VariantId, product.LanguageId); 497 498 <div class="small"> 499 @string.Format(Translate("Tilbuddet g�lder {0} - {1}"), $"&zwnj;{discountInfo.ValidFromFormatted}&zwnj;", $"&zwnj;{discountInfo.ValidToFormatted}&zwnj;") 500 </div> 501 } 502 @*//--CUSTOM*@ 503 504 </div> 505 } 506 507 @if (product.VariantInfo.VariantInfo != null && staticVariantsLayout == "swatches") 508 { 509 var optionCount = product.VariantInfo.VariantInfo.Count(); 510 var showMaxVariants = 5; 511 512 <div class="d-flex flex-row gap-1 align-items-center"> 513 @foreach (VariantInfoViewModel variant in product.VariantInfo.VariantInfo.Take(showMaxVariants)) 514 { 515 <span class="colorbox colorbox-sm rounded-circle border me-1" style="background-color: @variant.OptionColor"></span> 516 } 517 @if (optionCount > showMaxVariants) 518 { 519 int left = optionCount - showMaxVariants; 520 <span class="ms-2">+@left</span> 521 } 522 </div> 523 } 524 </div> 525 526 <div class="overflow-hidden order-1 @(imageTheme)" @imageOutlineStyle> 527 <div class="ratio" style="@(ratioVariable)"> 528 <div class="d-flex justify-content-center align-items-center"> 529 @if (string.IsNullOrEmpty(alternativeImage)) 530 { 531 <img id="@imageId" 532 itemprop="image" 533 srcset=" 534 @imagePathXs 480w, 535 @imagePathS 640w" 536 sizes="(min-width: 992px) 33vw, 50vw" 537 src="@imagePathFallBack" 538 loading="lazy" 539 decoding="async" 540 class="mw-100 mh-100 @imageThemePadding" 541 alt="@product.Name"> 542 } 543 else 544 { 545 <img id="@imageId" 546 itemprop="image" 547 src="@imagePathFallBack" 548 loading="lazy" 549 decoding="async" 550 class="mw-100 mh-100 @imageThemePadding" 551 alt="@product.Name" 552 onmouseover="this.src='@alternativeImage'" 553 onmouseout="this.src='@imagePathFallBack'"> 554 } 555 </div> 556 </div> 557 558 @if (product.VariantInfo.VariantInfo != null && staticVariantsLayout == "images") 559 { 560 int variantGroupCount = 0; 561 int showMaxVariantGroups = 2; 562 int showMaxVariants = 3; 563 var productVariantTheme = productTheme != "" ? productTheme : "bg-white"; 564 565 <div class="position-relative"> 566 <div id="StaticVariants_@product.Id" class="static-variants w-100 d-none d-lg-block position-absolute left-0 bottom-0 @productTheme" style="pointer-events: none;"> 567 568 @foreach (var variantGroup in product.VariantGroups()) 569 { 570 int variantsCount = 0; 571 572 <div class="d-flex gap-2 mb-2"> 573 @foreach (var variant in variantGroup.Options) 574 { 575 if (variantGroupCount < showMaxVariantGroups) 576 { 577 var optionsCount = variantGroup.Options.Count(); 578 579 if (variantsCount < showMaxVariants) 580 { 581 string optionWidth = !string.IsNullOrEmpty(variant.Color) ? "w-25" : ""; 582 583 <article class="static-variants-option @optionWidth @(productVariantTheme)" title="@product.Name @variant.Name" style="pointer-events: initial;"> 584 @if (!string.IsNullOrEmpty(variant.Color)) 585 { 586 string defaultProductImage = Dynamicweb.Context.Current.Server.UrlEncode(product.DefaultImage.Value); 587 string variantImage = Dynamicweb.Context.Current.Server.UrlEncode(variant.Image.Value); 588 string defaultPrice = !hidePrice ? product.Price.PriceFormatted : "0"; 589 string variantPrice = !hidePrice ? product.Price.PriceFormatted : "0"; 590 591 if (isLazyLoadingForProductInfoEnabled) 592 { 593 <figure class="w-100 d-block m-0" data-price-formatted="" onmouseover="swift.StaticVariants.SwitchProduct(event, '@product.Id', this.getAttribute('data-price-formatted'), '@variantImage')" onmouseout="swift.StaticVariants.SwitchProduct(event, '@product.Id', this.getAttribute('data-price-formatted'), '@defaultProductImage')"> 594 <div class="d-flex align-items-center justify-content-center"> 595 <img src="/admin/public/GetImage.ashx?image=@variantImage&width=75&height=75&crop=5&FillCanvas=true&format=webp&Quality=70" height="75" width="75" class="p-1 text-small" loading="lazy" decoding="async" alt="@product.Name, @variant.Name"> 596 </div> 597 </figure> 598 } 599 else 600 { 601 <figure class="w-100 d-block m-0" onmouseover="swift.StaticVariants.SwitchProduct(event, '@product.Id', '@defaultPrice', '@variantImage')" onmouseout="swift.StaticVariants.SwitchProduct(event, '@product.Id', '@variantPrice', '@defaultProductImage')"> 602 <div class="d-flex align-items-center justify-content-center"> 603 <img src="/admin/public/GetImage.ashx?image=@variantImage&width=75&height=75&crop=5&FillCanvas=true&format=webp&Quality=70" height="75" width="75" class="p-1 text-small" loading="lazy" decoding="async" alt="@product.Name, @variant.Name"> 604 </div> 605 </figure> 606 } 607 } 608 else 609 { 610 <div class="d-flex align-items-center justify-content-center"> 611 @variant.Name 612 </div> 613 } 614 <div class="visually-hidden"> 615 <h4>@product.Name, @variant.Name</h4> 616 @if (!hidePrice) 617 { 618 if (isLazyLoadingForProductInfoEnabled) 619 { 620 <span class="text-price js-text-price"></span> 621 } 622 else 623 { 624 <span class="text-price">@product.Price.PriceFormatted</span> 625 } 626 } 627 </div> 628 </article> 629 } 630 631 variantsCount++; 632 633 if (variantsCount == showMaxVariants && optionsCount != showMaxVariants) 634 { 635 int left = optionsCount - showMaxVariants; 636 <div class="variant-option ms-1 d-flex justify-content-center align-items-center"> 637 <span>+@left</span> 638 </div> 639 } 640 } 641 } 642 </div> 643 644 variantGroupCount++; 645 } 646 </div> 647 </div> 648 } 649 </div> 650 </a> 651 </div> 652 </article> 653 } 654 </div> 655 656 <div class="my-3" id="LoadMoreButton"> 657 <div class="text-center d-flex flex-column gap-3"> 658 <div class="opacity-85">@loadedProducts @Translate("out of") @productList.TotalProductsCount @Translate("products")</div> 659 @if (productList.PageCount != 1) 660 { 661 string sortBySelection = Dynamicweb.Context.Current.Request?.Form["SortBy"] ?? ""; 662 sortBySelection = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("SortBy")) ? Dynamicweb.Context.Current.Request.QueryString.Get("SortBy") : sortBySelection; 663 string mainProductId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("MainProductID")) ? Dynamicweb.Context.Current.Request.QueryString.Get("MainProductID") : ""; 664 665 string searchQuery = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("q")) ? Dynamicweb.Context.Current.Request.QueryString.Get("q") : ""; 666 string searchLayout = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("SearchLayout")) ? Dynamicweb.Context.Current.Request.QueryString.Get("SearchLayout") : ""; 667 668 <form method="get" action="@url" data-response-target-element="content" class="w-100"> 669 @foreach (FacetGroupViewModel facetGroup in productList.FacetGroups) 670 { 671 foreach (FacetViewModel facetItem in facetGroup.Facets) 672 { 673 foreach (FacetOptionViewModel facetOption in facetItem.Options) 674 { 675 if (facetOption.Selected) 676 { 677 <input type="hidden" name="@facetItem.QueryParameter" value="[@facetOption.Value]"> 678 } 679 } 680 } 681 } 682 683 <input type="hidden" name="PageSize" value="@pageSize"> 684 <input type="hidden" name="SortBy" value="@sortBySelection"> 685 <input type="hidden" name="RequestType" value="UpdateList"> 686 687 @if (!string.IsNullOrEmpty(searchQuery)) 688 { 689 <input type="hidden" name="q" value="@searchQuery"> 690 <input type="hidden" name="SearchLayout" value="@searchLayout"> 691 } 692 693 @if (!string.IsNullOrEmpty(mainProductId)) 694 { 695 <input type="hidden" name="MainProductID" value="@mainProductId"> 696 } 697 698 @{ 699 string nextPageLink = "/Default.aspx?ID=" + Pageview.Page.ID + "&PageSize=" + pageSize + "&SortBy=" + sortBySelection; 700 701 foreach (FacetGroupViewModel facetGroup in productList.FacetGroups) 702 { 703 foreach (FacetViewModel facetItem in facetGroup.Facets) 704 { 705 foreach (FacetOptionViewModel facetOption in facetItem.Options) 706 { 707 if (facetOption.Selected) 708 { 709 nextPageLink += "&" + facetItem.QueryParameter + "=[" + facetOption.Value + "]"; 710 } 711 } 712 } 713 } 714 715 nextPageLink += !string.IsNullOrEmpty(searchQuery) ? "&q=" + searchQuery : ""; 716 } 717 718 <a href="@nextPageLink" class="btn btn-primary" onclick="swift.ProductList.Update(event)" id="LoadMoreButton_@Model.ID">@Translate("Load more products")</a> 719 </form> 720 } 721 </div> 722 </div> 723 } 724 else 725 { 726 if (!Pageview.IsVisualEditorMode) 727 { 728 <div class="alert alert-dark m-0"> 729 @Translate("We did not find anything matching your search result") 730 </div> 731 } 732 else 733 { 734 <div class="alert alert-dark m-0" role="alert"> 735 <span>@Translate("Product list: The list will be shown here, if any")</span> 736 </div> 737 } 738 } 739 } 740

Regarde aussi

Verre à eau Eva Solo pour la table

Avec notre magnifique verre à eau sur la table, il ne faut pas de temps pour dresser une table élégante. Les verres sont en verre securit, ce qui les rend très résistants. Vous pouvez donc en profiter pendant de nombreuses années, tout comme le verre securit vous permet également y verser des boissons froides et chaudes et ensuite les mettre au lave-vaisselle. Partez à la recherche de nouveaux verres à eau!

Le verre à eau est un classique incontournable dans le cadre de la mise en table - que ce soit pour le quotidien ou la fête. Si vous voulez que vos verres à boire complètent n'importe quelle table, du rustique à l'élégant, les verres à eau Eva Solo sont un bon choix.

La gamme comprend plusieurs séries de verre, chacune avec ses propres caractéristiques et propriétés. Les verres à eau Eva Solo et Eva Trio vous donnent des possibilités inimaginables - allant de l'eau glacée rafraîchissante au café chaud à la vapeur.

TROIS AVANTAGES DU VERRE À EAU EVA SOLO:

En verre securit
Peut être utilisé pour les boissons chaudes et froides
Beau design

LE VERRE SECURIT OFFRE UNE GRANDE RÉSISTANCE

Le verre à eau classique d'Eva Solo est fait de verre securit, qui est beaucoup plus résistant que le verre ordinaire. Le verre securit a techniquement une résistance à la rupture quatre à cinq fois supérieure à celle des autres verres. Si l'accident arrive malgré tout et que le verre se brise, le verre trempé se fissurera en petits morceaux inoffensifs contrairement au verre ordinaire, qui en cas de bris donnera des arêtes vives.

Avec des verres aussi résistants que les nôtres, vous pouvez bien entendu également les mettre au lave-vaisselle. Ce n'est pas amusant de laver les verres à la main pour un usage quotidien, si vous avez un lave-vaisselle, et en faisant ainsi vous ne les utiliserez probablement pas autant. Heureusement, notre verre peut résister aux températures élevées de la machine. Ils n'en sont donc pas lésés.

VERRES À BOIRE POUR BOISSONS CHAUDES ET FROIDES

L'avantage de choisir les verres à boire en verre securit Eva Solo est que cette série peut résister à une chaleur aussi bien élevée que basse et n'est pas aussi sensible aux températures élevées que d'autres verres non trempés. Notre série de verres à boire et de verres à facettes peut ainsi résister à des liquides jusqu'à 130°C, ce qui vous offre des possibilités inimaginables.

Si vous choisissez le verre en verre securit Eva Solo, vous pouvez servir des boissons gazeuses froides, du café chaud ou du cacao sans avoir à envisager de différentes tasses, gobelets ou verres en dressant la table. Vous pouvez même servir du müesli à la table du brunch ou un dessert à la crème glacée pour la fête sans vous soucier de savoir si le verre peut coller à la surface dure et résister au bord tranchant de la cuillère. Limité uniquement par votre imagination! Les différentes séries de verres sont disponibles en petits et grands verres à eau.

Si vous voulez avoir vos boissons chaudes ou froides dans la main, vous devriez regarder de plus près nos gobelets thermiques et flacons à boire . Ils sont créés dans un design pratique et efficace, afin qu’ils puissent garder respectivement votre café, thé ou eau chaud ou froid pendant de nombreuses heures.

VERRE AUX DÉTAILS ÉLÉGANTS

En plus d'une grande fonctionnalité, chaque série de verre d'Eva Solo a ses propres caractéristiques qui peuvent ajouter du style et du caractère à votre table. Le verre élégant avec des facettes réfléchissant la lumière, complète n'importe quel décor de table. Utilisez-le quotidiennement avec le reste de vos ensembles de table, ou mettez table avec les beaux verres pour un anniversaire et d’autres occasions festives.

Si vous aimez une table simple et joliment dressée, il est évident que vous choisissez notre verre à eau. Avec les verres, les belles assiettes et les beaux couverts, vous n'avez presque pas besoin d'autres décorations sur la table avant qu'elle soit belle et attirantes.

Vous trouverez également tout ce que votre cœur désire sur cette page en matière de mise en table. Même si vous manquez d'inspiration, il peut être judicieux de jeter un coup d'œil sur tout,allant des assiettes et couverts aux divers accessoires pour servir. Ici vous trouverez tout pour la table du dîner .

LES VERRES À EAU CORRESPONDENT AUX AUTRES VERRES D'EVA SOLO

Comme déjà dit, ce verre à eau élégant est en verre securit, ce qui signifie qu'il tolère les boissons froides et chaudes. Il donne au verre de nombreuses utilisations possibles et convient pour servir, par exemple, de l'eau, du café, du jus, du thé ou des smoothies.

Que ce soit pour un jus ou un long drink, nous garantissons que le verre peut également servir à cela. Les belles facettes ne font que rendre le service d'un cocktail coloré encore plus beau. Êtes-vous à la recherche d'un verre à boire bien défini? Sur cette page, vous trouverez tout, des verres à liqueur aux verres Martini.

Faites-vous partie de ceux qui ont craqué pour le bord incliné emblématique des verres à vin Eva Solo? Complétez votre collection avec notre verre à eau, qui a le même bord de boisson fin et incliné élégant. Combinez les bords inclinés et créez un look élégant, propre et moderne pour votre table. Jetez un œil aux magnifiques verres à vin Eva Solo et trouvez votre préféré.

LIVRAISON GRATUITE ET RAPIDE DANS TOUT LE DANEMARK ET DANS L'UE

Lorsque vous achetez des verres à eau chez nous, ils vous seront livrés gratuitement si vous achetez plus de 499 couronnes. Si vous avez besoin de beaucoup de verres, vous pouvez donc rapidement atteindre ce montant. Dans ce cas, c'est bien que vous n'ayez pas à payer de frais de livraison en plus.

Faites défiler la page et trouvez votre verre favori parmi nos magnifiques verres à eau!