Conservation

Conservation

21 des produits

Couleur

Matériel

Série

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_86b59cf0c00a49558d8d0a22fde90eba : 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_86b59cf0c00a49558d8d0a22fde90eba() { 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