Din indkøbskurv er tom.

Men det behøver den ikke at være.

vores 2017 bestsellers

Error compiling template "Designs/dechra-dvp/eCom/Productlist/espresso.cshtml"
Line 93: Le nom 'SearchEngineFriendlyURLs' n'existe pas dans le contexte actuel
Line 110: 'Currency.Format(double, bool)' est obsolète : 'Use Ecommerce.Services.Currencies.Format instead'

1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // This code was generated by a tool. 4 // Runtime Version:4.0.30319.42000 5 // 6 // Changes to this file may cause incorrect behavior and will be lost if 7 // the code is regenerated. 8 // </auto-generated> 9 //------------------------------------------------------------------------------ 10 11 namespace CompiledRazorTemplates.Dynamic { 12 using System; 13 using System.Collections.Generic; 14 using System.Linq; 15 16 #line 2 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 17 using Dynamicweb.Content.Items.Metadata; 18 19 #line default 20 #line hidden 21 22 #line 3 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 23 using Dynamicweb.Content.Items; 24 25 #line default 26 #line hidden 27 28 #line 4 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 29 using System.Globalization; 30 31 #line default 32 #line hidden 33 34 #line 5 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 35 using System.Text.RegularExpressions; 36 37 #line default 38 #line hidden 39 40 #line 6 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 41 using Dynamicweb.Ecommerce.Common; 42 43 #line default 44 #line hidden 45 46 #line 7 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 47 using Co3.Espresso.Website.Services; 48 49 #line default 50 #line hidden 51 52 53 public class RazorEngine_78e145ef849143a69b87f377eabb1ba5 : Co3.Espresso.Website.TemplateBases.Paragraphs.Module { 54 55 #line hidden 56 57 #line 9 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 58 59 CultureInfo AreaCultureInfo = Dynamicweb.Frontend.PageView.Current().Area.CultureInfo; 60 61 public string getProductLink( string groupID, string productID, string variantID = "" ) { 62 string result = string.Empty; 63 string displayPage = ProductService.Instance.GetGroupDisplayPage( groupID ); 64 if( string.IsNullOrEmpty( displayPage ) == false ) { 65 if( string.IsNullOrEmpty( variantID ) == false ) { 66 result = "{0}&ProductID={1}&variantID={2}"; 67 result = string.Format( result, displayPage, productID, variantID ); 68 } 69 else { 70 result = "{0}&ProductID={1}"; 71 result = string.Format( result, displayPage, productID ); 72 } 73 } 74 return result; 75 } 76 77 public bool isProductGroupPublishedOnWebsite( string groupID ) { 78 bool result = false; 79 string displayPage = ProductService.Instance.GetGroupDisplayPage( groupID ); 80 if( string.IsNullOrEmpty( displayPage ) == false ) { 81 result = true; 82 } 83 return result; 84 } 85 86 public string getNewsLink( string categoryName, string newsID ) { 87 string result = ""; 88 string displayPage = NewsService.Instance.GetNewsDisplayPage( categoryName, newsID ); 89 if( string.IsNullOrEmpty( displayPage ) == false ) { 90 string displayPageURL = displayPage.Substring(0, displayPage.LastIndexOf("#")); 91 string newsUrl = displayPage.Substring(displayPage.IndexOf('#') + 1); 92 93 result = SearchEngineFriendlyURLs.GetFriendlyUrl( displayPageURL ) + "?PID=" + newsUrl + "&M=NewsV2&Action=1&NewsID=" + newsID; 94 } 95 return result; 96 } 97 98 public string getImageURL( string url, int width = 2560, int height = 0, int crop = 0, int quality = 75, string format = "jpg" ) { 99 string result = "/files/Images/placeholder-image.png"; 100 if( string.IsNullOrEmpty( url ) == false ) { 101 result = "/admin/public/getimage.ashx?Image={0}&Width={1}&Height={2}&Format={3}&Quality={4}&Crop={5}&AlternativeImage=/files/Images/placeholder-image.png"; 102 result = string.Format( result, url, width, height, format, quality, crop ); 103 } 104 return result; 105 } 106 107 public string getPriceFormatted( string price ) { 108 string result = string.Empty; 109 if( string.IsNullOrEmpty( price ) == true ) { 110 price = Context.Currency.Format(0.00, false); 111 } 112 if ( Context.Currency.SymbolPlace == 0 ) { 113 result = string.Format( "<span class=\"e-product-price-symbol\">{1}</span>&nbsp;{0}", price, Context.Currency.Symbol ); 114 } 115 else{ 116 result = string.Format( "{0}&nbsp;<span class=\"e-product-price-symbol\">{1}</span>", price, Context.Currency.Code ); 117 } 118 return result; 119 } 120 121 public string getShortDate( DateTime date ) { 122 string result = string.Empty; 123 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.ShortDatePattern ).Replace( "-" , "." ); 124 return result; 125 } 126 127 public string getLongDate( DateTime date ) { 128 string result = string.Empty; 129 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.LongDatePattern ); 130 return result; 131 } 132 133 #line default 134 #line hidden 135 136 137 public RazorEngine_78e145ef849143a69b87f377eabb1ba5() { 138 } 139 140 public override void Execute() { 141 WriteLiteral("\r\n"); 142 143 144 #line 84 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 145 146 string pageUrl = GetGlobalValue("Global:Pageview.Url"); 147 string sortBy = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortBy"]) ? Espresso.Item.ModuleOverride_SortBy : System.Web.HttpContext.Current.Request["SortBy"]; 148 string sortOrder = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortOrder"]) ? Espresso.Item.ModuleOverride_SortOrder : System.Web.HttpContext.Current.Request["SortOrder"]; 149 string pageSize = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageSize"]) ? Espresso.Item.ModuleOverride_PageSize : System.Web.HttpContext.Current.Request["PageSize"]; 150 string pageNum = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageNum"]) ? GetString("Ecom:ProductList.CurrentPage") : System.Web.HttpContext.Current.Request["PageNum"]; 151 string productListClassList = "col-12"; 152 if( Espresso.Item.FiltersShow == "True" ) { 153 productListClassList = "col-12 col-lg-8 col-xl-9"; 154 } 155 156 var paragraph = Dynamicweb.Frontend.PageView.Current().CurrentParagraph; 157 Item item = Dynamicweb.Content.Items.ItemManager.Storage.GetById(paragraph.ItemType, paragraph.ItemId); 158 string includeResponsiveWidthId = item["ItemWidth"].ToString(); 159 Item includeResponsiveWidth = Dynamicweb.Content.Items.ItemManager.Storage.GetById("ParagraphInclude_WidthResponsive", includeResponsiveWidthId); 160 161 dynamic width = new { 162 xs = includeResponsiveWidth["xs"] ?? "6", 163 sm = includeResponsiveWidth["sm"] ?? "6", 164 md = includeResponsiveWidth["md"] ?? "4", 165 lg = includeResponsiveWidth["lg"] ?? "4", 166 xl = includeResponsiveWidth["xl"] ?? "3" 167 }; 168 169 170 #line default 171 #line hidden 172 WriteLiteral("\r\n<div"); 173 174 WriteLiteral(" class=\"js-e-productlist js-e-loading-overlay-override\""); 175 176 WriteLiteral(">\r\n"); 177 178 179 #line 109 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 180 181 182 #line default 183 #line hidden 184 185 #line 109 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 186 if( Espresso.Item.SortShow == "True" || Espresso.Item.PagingShow == "True" || Espresso.Item.HeadingShow == "True" ){ 187 188 189 #line default 190 #line hidden 191 WriteLiteral(" <div"); 192 193 WriteLiteral(" class=\"js-e-productslist-header small\""); 194 195 WriteLiteral(">\r\n <div"); 196 197 WriteLiteral(" class=\"row align-items-end\""); 198 199 WriteLiteral(">\r\n"); 200 201 202 #line 112 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 203 204 205 #line default 206 #line hidden 207 208 #line 112 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 209 if( ( Espresso.Item.SortShow == "True" || Espresso.Item.PagingShow == "True" ) && Espresso.Item.HeadingShow == "True" ){ 210 211 212 #line default 213 #line hidden 214 WriteLiteral(" <div"); 215 216 WriteLiteral(" class=\"col-md-12\""); 217 218 WriteLiteral(">\r\n <h1"); 219 220 WriteLiteral(" class=\"\""); 221 222 WriteLiteral(">"); 223 224 225 #line 114 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 226 Write(Espresso.Item.Name); 227 228 229 #line default 230 #line hidden 231 WriteLiteral("</h1>\r\n </div>\r\n"); 232 233 234 #line 116 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 235 } 236 237 238 #line default 239 #line hidden 240 WriteLiteral(" "); 241 242 243 #line 117 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 244 if( Espresso.Item.FiltersShow == "True" ){ 245 246 247 #line default 248 #line hidden 249 WriteLiteral(" <div"); 250 251 WriteLiteral(" class=\"d-none d-lg-block col-lg-4 col-xl-3\""); 252 253 WriteLiteral(">\r\n <div"); 254 255 WriteLiteral(" class=\"e-productslist-header\""); 256 257 WriteLiteral(">\r\n <p"); 258 259 WriteLiteral(" class=\"h2 small m-0\""); 260 261 WriteLiteral(">\r\n <i"); 262 263 WriteLiteral(" class=\"material-icons material-icons-large text-primary d-none\""); 264 265 WriteLiteral(">playlist_add_check</i> <small>"); 266 267 268 #line 121 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 269 Write(Translate( "eCom Productlist Filters - Customize Selection - Heading", "Customize selection" )); 270 271 272 #line default 273 #line hidden 274 WriteLiteral("</small>\r\n </p>\r\n </div>\r\n </div>\r\n"); 275 276 277 #line 125 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 278 } 279 280 281 #line default 282 #line hidden 283 WriteLiteral(" "); 284 285 286 #line 126 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 287 if( Espresso.Item.SortShow == "True" || Espresso.Item.PagingShow == "True" || Espresso.Item.HeadingShow == "True" ){ 288 289 290 #line default 291 #line hidden 292 WriteLiteral(" <div"); 293 294 WriteAttribute("class", Tuple.Create(" class=\"", 6256), Tuple.Create("\"", 6285) 295 296 #line 127 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 297 , Tuple.Create(Tuple.Create("", 6264), Tuple.Create<System.Object, System.Int32>(productListClassList 298 299 #line default 300 #line hidden 301 , 6264), false) 302 ); 303 304 WriteLiteral(">\r\n <div"); 305 306 WriteLiteral(" class=\"e-productslist-header small\""); 307 308 WriteLiteral(">\r\n"); 309 310 311 #line 129 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 312 313 314 #line default 315 #line hidden 316 317 #line 129 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 318 if( ( Espresso.Item.SortShow == "False" && Espresso.Item.PagingShow == "False" ) && Espresso.Item.HeadingShow == "True" ){ 319 320 321 #line default 322 #line hidden 323 WriteLiteral(" <h1"); 324 325 WriteLiteral(" class=\"h3 m-0\""); 326 327 WriteLiteral(">"); 328 329 330 #line 130 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 331 Write(Espresso.Item.Name); 332 333 334 #line default 335 #line hidden 336 WriteLiteral(" (<span"); 337 338 WriteLiteral(" class=\"js-e-productlist-product-count\""); 339 340 WriteLiteral("></span>)</h1>\r\n"); 341 342 343 #line 131 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 344 } 345 else{ 346 347 348 #line default 349 #line hidden 350 WriteLiteral(" <div"); 351 352 WriteLiteral(" class=\"row\""); 353 354 WriteLiteral(">\r\n"); 355 356 357 #line 134 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 358 359 360 #line default 361 #line hidden 362 363 #line 134 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 364 if( Espresso.Item.SortShow == "True" ){ 365 366 367 #line default 368 #line hidden 369 WriteLiteral(" <div"); 370 371 WriteAttribute("class", Tuple.Create(" class=\"", 6724), Tuple.Create("\"", 6794) 372 , Tuple.Create(Tuple.Create("", 6732), Tuple.Create("col-6", 6732), true) 373 374 #line 135 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 375 , Tuple.Create(Tuple.Create(" ", 6737), Tuple.Create<System.Object, System.Int32>( Espresso.Item.PagingShow != "True" ? "ml-auto" : "" 376 377 #line default 378 #line hidden 379 , 6738), false) 380 ); 381 382 WriteLiteral(">\r\n <div"); 383 384 WriteLiteral(" class=\"js-e-productlist-sort\""); 385 386 WriteLiteral(">\r\n <script"); 387 388 WriteLiteral(" id=\"js-e-handlebars-tmpl-productlist-sort\""); 389 390 WriteLiteral(" type=\"text/x-handlebars-template\""); 391 392 WriteLiteral(">\r\n\r\n <fieldset class=\"form-inline\">\r\n <div class=\"form-group "); 393 394 395 #line 140 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 396 Write( Espresso.Item.PagingShow != "True" ? "justify-content-end" : "" ); 397 398 399 #line default 400 #line hidden 401 WriteLiteral("\">\r\n <label for=\"Sort\" class=\"mr-1\">\r\n"); 402 403 WriteLiteral(" "); 404 405 406 #line 142 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 407 Write(Translate( "eCom Productlist - Sorting - Label", "Sort: ")); 408 409 410 #line default 411 #line hidden 412 WriteLiteral("\r\n </label>\r\n"); 413 414 415 #line 144 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 416 417 418 #line default 419 #line hidden 420 421 #line 144 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 422 string[] excludedOptions = {"Name DESC"}; 423 424 #line default 425 #line hidden 426 WriteLiteral("\r\n <select name=\"Sort\" class=\"js-e-productlist-sort-select custom-select" + 427 " custom-select-sm\" style=\"padding-bottom:0.25em;\">\r\n"); 428 429 430 #line 146 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 431 432 433 #line default 434 #line hidden 435 436 #line 146 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 437 foreach( FieldOptionMetadata sortByOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "ModuleOverride_SortBy" ).Options.Values ){ 438 foreach( FieldOptionMetadata sortOrderOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "ModuleOverride_SortOrder" ).Options.Values ){ 439 if( excludedOptions.Any( o => o.Contains( String.Format( "{0} {1}", sortByOption.Value, sortOrderOption.Value ) ) ) == false ){ 440 441 442 #line default 443 #line hidden 444 WriteLiteral(" <option"); 445 446 WriteAttribute("value", Tuple.Create(" value=\"", 8005), Tuple.Create("\"", 8081) 447 448 #line 149 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 449 , Tuple.Create(Tuple.Create("", 8013), Tuple.Create<System.Object, System.Int32>(String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value) 450 451 #line default 452 #line hidden 453 , 8013), false) 454 ); 455 456 WriteLiteral(" {{#compare sort.sort \'===\' \'"); 457 458 459 #line 149 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 460 Write(String.Format( "{0} {1}", sortByOption.Value, sortOrderOption.Value )); 461 462 463 #line default 464 #line hidden 465 WriteLiteral("\'}}selected{{/compare}}>\r\n"); 466 467 WriteLiteral(" "); 468 469 470 #line 150 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 471 Write(Translate( String.Format( "eCom Productlist - Sorting Option - Label {0} {1}", sortByOption.Value, sortOrderOption.Value ), String.Format( "{0} {1}", sortByOption.Name, sortOrderOption.Name ) )); 472 473 474 #line default 475 #line hidden 476 WriteLiteral("\r\n </option>\r\n"); 477 478 479 #line 152 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 480 } 481 } 482 } 483 484 485 #line default 486 #line hidden 487 WriteLiteral(" </select>\r\n </div>\r\n </fieldset>\r\n\r\n </script>\r\n </" + 488 "div>\r\n</div>\r\n"); 489 490 491 #line 162 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 492 493 494 495 } 496 497 498 #line default 499 #line hidden 500 WriteLiteral(" "); 501 502 503 #line 166 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 504 if( Espresso.Item.PagingShow == "True" ){ 505 506 507 #line default 508 #line hidden 509 WriteLiteral(" <div"); 510 511 WriteLiteral(" class=\"col-6\""); 512 513 WriteLiteral(">\r\n <div"); 514 515 WriteLiteral(" class=\"align-items-center d-flex e-products-paging h-100 js-e-products-paging ju" + 516 "stify-content-end\""); 517 518 WriteLiteral(">\r\n <script"); 519 520 WriteLiteral(" id=\"js-e-handlebars-tmpl-productlist-paging\""); 521 522 WriteLiteral(" type=\"text/x-handlebars-template\""); 523 524 WriteLiteral(">\r\n <small class=\"text-nowrap mr-1\">\r\n {{#if page.productCount}}\r\n " + 525 " <strong>{{page.viewing.from}} - {{page.viewing.to}}</strong> "); 526 527 528 #line 172 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 529 Write(Translate( "eCom Productlist Paging - Product Count Of - Text", "of")); 530 531 532 #line default 533 #line hidden 534 WriteLiteral(@" 535 {{/if}} 536 <strong> {{page.productCount}}</strong> 537 </small> 538 {{#compare page.prevPage '!==' 0 }} 539 <a href=""{{page.pagingUrl}}={{page.prevPage}}"" class=""btn btn-link btn-lg p-0 pl-1 mr-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.prevPage}}""> 540 <i class=""material-icons"">keyboard_arrow_left</i><span class=""d-none d-lg-inline"">"); 541 542 543 #line 178 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 544 Write(Translate( "eCom Productlist Paging - Previous - Text", "Previous")); 545 546 547 #line default 548 #line hidden 549 WriteLiteral(@"</span> 550 </a> 551 {{/compare}} 552 {{#compare page.nextPage '!==' 0 }} 553 <a href=""{{page.pagingUrl}}={{page.nextPage}}"" class=""btn btn-link btn-lg p-0 pr-1 ml-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.nextPage}}""> 554 <span class=""d-none d-lg-inline"">"); 555 556 557 #line 183 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 558 Write(Translate( "eCom Productlist Paging - Next - Text", "Next")); 559 560 561 #line default 562 #line hidden 563 WriteLiteral(@"</span><i class=""material-icons"">keyboard_arrow_right</i></a> 564 {{/compare}} 565 {{#compare page.pageSize '!==' 999}} 566 {{#compare page.totalPages '>' 1 }} 567 <a href=""{{page.pagingUrl}}=9999"" class=""btn btn-link btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none d-md-inline"" data-page-size=""999""> 568 "); 569 570 WriteLiteral(" "); 571 572 573 #line 188 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 574 Write(Translate( "eCom Productlist Paging - Show All - Text", "Show all")); 575 576 577 #line default 578 #line hidden 579 WriteLiteral("\r\n </a>\r\n {{/compare}}\r\n {{/compare}}\r\n {" + 580 "{#compare page.pageSize \'===\' 999}}\r\n <a href=\"#\" class=\"btn btn-link" + 581 " btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none\" data-page-size=\""); 582 583 584 #line 193 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 585 Write(Espresso.Item.Pagesize); 586 587 588 #line default 589 #line hidden 590 WriteLiteral("\">"); 591 592 593 #line 193 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 594 Write(Translate( "eCom Productlist Paging - Reset - Link", "Reset")); 595 596 597 #line default 598 #line hidden 599 WriteLiteral("</a>\r\n {{/compare}}\r\n </script>\r\n </div>\r\n</div>\r\n"); 600 601 602 #line 198 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 603 } 604 else{ 605 606 607 #line default 608 #line hidden 609 WriteLiteral(" <div"); 610 611 WriteLiteral(" class=\"col-6 order-first\""); 612 613 WriteLiteral("><span"); 614 615 WriteLiteral(" class=\"js-e-productlist-product-count\""); 616 617 WriteLiteral("></span> "); 618 619 620 #line 200 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 621 Write(Translate( "eCom Productlist - Product count - Text", "products")); 622 623 624 #line default 625 #line hidden 626 WriteLiteral("</div>\r\n"); 627 628 629 #line 201 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 630 } 631 632 633 #line default 634 #line hidden 635 WriteLiteral(" </div>\r\n"); 636 637 638 #line 203 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 639 } 640 641 642 #line default 643 #line hidden 644 WriteLiteral(" </div>\r\n </div>\r\n"); 645 646 647 #line 206 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 648 } 649 650 651 #line default 652 #line hidden 653 WriteLiteral(" "); 654 655 656 #line 207 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 657 if( Espresso.Item.FiltersShow == "True" ){ 658 659 660 #line default 661 #line hidden 662 WriteLiteral(" <div"); 663 664 WriteLiteral(" class=\"col-12 d-lg-none\""); 665 666 WriteLiteral(">\r\n <button"); 667 668 WriteLiteral(" class=\"btn btn-block btn-primary mb-2\""); 669 670 WriteLiteral(" type=\"button\""); 671 672 WriteLiteral(" data-toggle=\"modal\""); 673 674 WriteLiteral(" data-target=\"#js-e-productlist-filters-modal\""); 675 676 WriteLiteral(">"); 677 678 679 #line 209 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 680 Write(Translate( "eCom Productlist Filters - Customize Selection - Button", "Customize selection" )); 681 682 683 #line default 684 #line hidden 685 WriteLiteral("</button>\r\n </div>\r\n"); 686 687 688 #line 211 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 689 } 690 691 692 #line default 693 #line hidden 694 WriteLiteral(" </div>\r\n</div>\r\n"); 695 696 697 #line 214 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 698 } 699 700 701 #line default 702 #line hidden 703 WriteLiteral("\r\n <div"); 704 705 WriteLiteral(" class=\"row\""); 706 707 WriteLiteral(">\r\n\r\n <div"); 708 709 WriteLiteral(" class=\"d-none d-lg-block col-lg-4 col-xl-3\""); 710 711 WriteLiteral(">\r\n <form"); 712 713 WriteLiteral(" class=\"js-e-productlist-form\""); 714 715 WriteLiteral(">\r\n <input"); 716 717 WriteLiteral(" type=\"hidden\""); 718 719 WriteLiteral(" name=\"ID\""); 720 721 WriteAttribute("value", Tuple.Create(" value=\"", 11645), Tuple.Create("\"", 11670) 722 723 #line 220 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 724 , Tuple.Create(Tuple.Create("", 11653), Tuple.Create<System.Object, System.Int32>(Espresso.Page.ID 725 726 #line default 727 #line hidden 728 , 11653), false) 729 ); 730 731 WriteLiteral(">\r\n <input"); 732 733 WriteLiteral(" type=\"hidden\""); 734 735 WriteLiteral(" name=\"PageNum\""); 736 737 WriteAttribute("value", Tuple.Create(" value=\"", 11729), Tuple.Create("\"", 11745) 738 739 #line 221 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 740 , Tuple.Create(Tuple.Create("", 11737), Tuple.Create<System.Object, System.Int32>(pageNum 741 742 #line default 743 #line hidden 744 , 11737), false) 745 ); 746 747 WriteLiteral(">\r\n <input"); 748 749 WriteLiteral(" type=\"hidden\""); 750 751 WriteLiteral(" name=\"PageUrl\""); 752 753 WriteAttribute("value", Tuple.Create(" value=\"", 11804), Tuple.Create("\"", 11820) 754 755 #line 222 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 756 , Tuple.Create(Tuple.Create("", 11812), Tuple.Create<System.Object, System.Int32>(pageUrl 757 758 #line default 759 #line hidden 760 , 11812), false) 761 ); 762 763 WriteLiteral(">\r\n <input"); 764 765 WriteLiteral(" type=\"hidden\""); 766 767 WriteLiteral(" name=\"Sort\""); 768 769 WriteAttribute("value", Tuple.Create(" value=\"", 11876), Tuple.Create("\"", 11902) 770 771 #line 223 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 772 , Tuple.Create(Tuple.Create("", 11884), Tuple.Create<System.Object, System.Int32>(sortBy 773 774 #line default 775 #line hidden 776 , 11884), false) 777 778 #line 223 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 779 , Tuple.Create(Tuple.Create(" ", 11891), Tuple.Create<System.Object, System.Int32>(sortOrder 780 781 #line default 782 #line hidden 783 , 11892), false) 784 ); 785 786 WriteLiteral(">\r\n <input"); 787 788 WriteLiteral(" type=\"hidden\""); 789 790 WriteLiteral(" name=\"SortBy\""); 791 792 WriteAttribute("value", Tuple.Create(" value=\"", 11960), Tuple.Create("\"", 11975) 793 794 #line 224 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 795 , Tuple.Create(Tuple.Create("", 11968), Tuple.Create<System.Object, System.Int32>(sortBy 796 797 #line default 798 #line hidden 799 , 11968), false) 800 ); 801 802 WriteLiteral(">\r\n <input"); 803 804 WriteLiteral(" type=\"hidden\""); 805 806 WriteLiteral(" name=\"SortOrder\""); 807 808 WriteAttribute("value", Tuple.Create(" value=\"", 12036), Tuple.Create("\"", 12054) 809 810 #line 225 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 811 , Tuple.Create(Tuple.Create("", 12044), Tuple.Create<System.Object, System.Int32>(sortOrder 812 813 #line default 814 #line hidden 815 , 12044), false) 816 ); 817 818 WriteLiteral(">\r\n <input"); 819 820 WriteLiteral(" type=\"hidden\""); 821 822 WriteLiteral(" name=\"PageSize\""); 823 824 WriteAttribute("value", Tuple.Create(" value=\"", 12114), Tuple.Create("\"", 12131) 825 826 #line 226 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 827 , Tuple.Create(Tuple.Create("", 12122), Tuple.Create<System.Object, System.Int32>(pageSize 828 829 #line default 830 #line hidden 831 , 12122), false) 832 ); 833 834 WriteLiteral(">\r\n\r\n"); 835 836 837 #line 228 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 838 839 840 #line default 841 #line hidden 842 843 #line 228 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 844 if( Espresso.Item.FiltersShow == "True" ) { 845 foreach (LoopItem facetGroup in GetLoop("FacetGroups") ) { 846 847 848 #line default 849 #line hidden 850 WriteLiteral(" <input"); 851 852 WriteLiteral(" type=\"hidden\""); 853 854 WriteLiteral(" name=\"fg\""); 855 856 WriteAttribute("value", Tuple.Create(" value=\"", 12345), Tuple.Create("\"", 12393) 857 858 #line 230 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 859 , Tuple.Create(Tuple.Create("", 12353), Tuple.Create<System.Object, System.Int32>(facetGroup.GetString("FacetGroup.Name") 860 861 #line default 862 #line hidden 863 , 12353), false) 864 ); 865 866 WriteLiteral(">\r\n"); 867 868 869 #line 231 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 870 } 871 872 873 #line default 874 #line hidden 875 WriteLiteral(" <input"); 876 877 WriteLiteral(" type=\"hidden\""); 878 879 WriteLiteral(" class=\"js-e-visible-options-count\""); 880 881 WriteAttribute("value", Tuple.Create(" value=\"", 12503), Tuple.Create("\"", 12551) 882 883 #line 232 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 884 , Tuple.Create(Tuple.Create("", 12511), Tuple.Create<System.Object, System.Int32>(Espresso.Item.FiltersVisibleOptionCount 885 886 #line default 887 #line hidden 888 , 12511), false) 889 ); 890 891 WriteLiteral(">\r\n"); 892 893 WriteLiteral(" <div"); 894 895 WriteLiteral(" id=\"js-e-productlist-filters\""); 896 897 WriteLiteral(">\r\n"); 898 899 900 #line 234 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 901 902 903 #line default 904 #line hidden 905 906 #line 234 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 907 foreach( LoopItem query in GetLoop("Query.Parameters") ) { 908 if( string.IsNullOrEmpty( query.GetString("Parameter.Value") ) == false ) { 909 910 911 #line default 912 #line hidden 913 WriteLiteral(" <input"); 914 915 WriteLiteral(" type=\"hidden\""); 916 917 WriteAttribute("name", Tuple.Create(" name=\"", 12814), Tuple.Create("\"", 12855) 918 919 #line 236 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 920 , Tuple.Create(Tuple.Create("", 12821), Tuple.Create<System.Object, System.Int32>(query.GetString("Parameter.Name") 921 922 #line default 923 #line hidden 924 , 12821), false) 925 ); 926 927 WriteAttribute("value", Tuple.Create(" value=\"", 12856), Tuple.Create("\"", 12899) 928 929 #line 236 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 930 , Tuple.Create(Tuple.Create("", 12864), Tuple.Create<System.Object, System.Int32>(query.GetString("Parameter.Value") 931 932 #line default 933 #line hidden 934 , 12864), false) 935 ); 936 937 WriteLiteral(">\r\n"); 938 939 940 #line 237 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 941 } 942 } 943 944 945 #line default 946 #line hidden 947 WriteLiteral("<script"); 948 949 WriteLiteral(" id=\"js-e-handlebars-tmpl-productlist-filters\""); 950 951 WriteLiteral(" type=\"text/x-handlebars-template\""); 952 953 WriteLiteral(">\r\n {{#if page.filtersAppliedCount}}\r\n <div class=\"e-productlist-filters-" + 954 "group\">\r\n <p class=\"e-productlist-filters-group-header font-weight-bold s" + 955 "mall mb-0\">\r\n <span class=\"e-productlist-filters-group-name small py-1\"" + 956 ">"); 957 958 959 #line 243 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 960 Write(Translate("eCom Productlist Filters - Selected - Text", "Selected filters")); 961 962 963 #line default 964 #line hidden 965 WriteLiteral("</span>\r\n <button type=\"button\" class=\"small btn btn-link pr-0 js-e-prod" + 966 "uctlist-filters-clear-all\">"); 967 968 969 #line 244 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 970 Write(Translate("eCom Productlist Filters - Reset Filters - Button", "Reset all")); 971 972 973 #line default 974 #line hidden 975 WriteLiteral(@"</button> 976 </p> 977 <div class=""small""> 978 <ul class=""e-productlist-filters-group-options-selected list-unstyled small mb-1""> 979 {{#each facets}} 980 {{#if selectedOptions.length}} 981 {{#each selectedOptions}} 982 <li class=""e-productlist-filters-option-selected""><a class=""js-e-productlist-filters-remove"" href=""#"" data-value=""{{value}}""><i class=""material-icons material-icons-fixed text-danger text-left mr-1"">clear</i>{{../name}}: {{label}}</a></li> 983 {{/each}} 984 {{/if}} 985 {{/each}} 986 {{#if page.q}} 987 <li class=""e-productlist-filters-option-selected""><a class=""js-e-productlist-filters-search-clear"" href=""#""><i class=""material-icons material-icons-fixed text-danger mr-1"">clear</i>"); 988 989 990 #line 256 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 991 Write(Translate("eCom Productlist Filters - Search - Text", "Search")); 992 993 994 #line default 995 #line hidden 996 WriteLiteral(@": {{page.q}}</a></li> 997 {{/if}} 998 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 999 <li class=""e-productlist-filters-option-selected""><a class=""js-e-productlist-filters-range-clear"" href=""#"" data-group-id=""js-e-productlist-filters-range-group-price""><i class=""material-icons material-icons-fixed text-danger mr-1"">clear</i>"); 1000 1001 1002 #line 259 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1003 Write(Translate("eCom Productlist Filters - Price - Heading", "Price")); 1004 1005 1006 #line default 1007 #line hidden 1008 WriteLiteral(": {{{page.minPrice.formatted}}} - {{{page.maxPrice.formatted}}}</a></li>\r\n " + 1009 " {{/compare}}\r\n </ul>\r\n </div>\r\n </div>\r\n {{/if}}\r\n"); 1010 1011 1012 #line 265 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1013 1014 1015 #line default 1016 #line hidden 1017 1018 #line 265 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1019 if( Espresso.Item.FiltersNavigationShow == "True" ){ 1020 1021 1022 #line default 1023 #line hidden 1024 WriteLiteral(" <div"); 1025 1026 WriteLiteral(" class=\"e-productlist-filters-group js-e-productlist-filters-group\""); 1027 1028 WriteLiteral(">\r\n <p"); 1029 1030 WriteLiteral(" class=\"e-productlist-filters-group-header font-weight-bold small mb-0\""); 1031 1032 WriteLiteral(">\r\n <a"); 1033 1034 WriteLiteral(" class=\"e-productlist-filters-group-collapse-toggle text-black\""); 1035 1036 WriteLiteral(" data-toggle=\"collapse\""); 1037 1038 WriteLiteral(" data-target=\"#e-productlist-filters-group-navigation\""); 1039 1040 WriteLiteral(">\r\n <i"); 1041 1042 WriteLiteral(" class=\"material-icons\""); 1043 1044 WriteLiteral(">arrow_drop_down</i>\r\n <span"); 1045 1046 WriteLiteral(" class=\"e-productlist-filters-group-name small py-1\""); 1047 1048 WriteLiteral(">\r\n"); 1049 1050 WriteLiteral(" "); 1051 1052 1053 #line 271 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1054 Write(Espresso.Item.NavigationHeading); 1055 1056 1057 #line default 1058 #line hidden 1059 WriteLiteral("\r\n </span>\r\n </a>\r\n </p>\r\n <fieldset"); 1060 1061 WriteLiteral(" id=\"e-productlist-filters-group-navigation\""); 1062 1063 WriteLiteral(" class=\"e-productlist-filters-group-options mb-2 small collapse show\""); 1064 1065 WriteLiteral(">\r\n <div"); 1066 1067 WriteLiteral(" class=\"e-nav-local e-nav-local-vertical\""); 1068 1069 WriteLiteral(">\r\n <nav"); 1070 1071 WriteLiteral(" class=\"e-nav-local-container\""); 1072 1073 WriteLiteral(">\r\n <ul"); 1074 1075 WriteLiteral(" class=\"nav flex-column\""); 1076 1077 WriteLiteral(">\r\n"); 1078 1079 WriteLiteral(" "); 1080 1081 1082 #line 279 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1083 Write(RenderNavigation( new { 1084 id = "dwnav-local-" + Espresso.Id, 1085 parentid = string.IsNullOrEmpty( Espresso.Item.NavigationParentPage ) == false ? Espresso.Item.NavigationParentPage : Espresso.Page.ID, 1086 template = "local-vertical.xslt", 1087 startlevel = Espresso.Item.NavigationLevelStart, 1088 endlevel = Espresso.Item.NavigationLevelEnd, 1089 expandmode = "path", 1090 } )); 1091 1092 1093 #line default 1094 #line hidden 1095 WriteLiteral("\r\n </ul>\r\n </nav>\r\n </div>\r\n </fieldset>\r" + 1096 "\n </div>\r\n"); 1097 1098 1099 #line 292 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1100 } 1101 1102 1103 #line default 1104 #line hidden 1105 WriteLiteral(" "); 1106 1107 1108 #line 293 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1109 if( Espresso.Item.FiltersSearchShow == "True" ){ 1110 1111 1112 #line default 1113 #line hidden 1114 WriteLiteral(" <div"); 1115 1116 WriteLiteral(" class=\"e-productlist-filters-group js-e-productlist-filters-group\""); 1117 1118 WriteLiteral(">\r\n <p"); 1119 1120 WriteLiteral(" class=\"e-productlist-filters-group-header font-weight-bold small mb-0\""); 1121 1122 WriteLiteral(">\r\n <a"); 1123 1124 WriteLiteral(" class=\"e-productlist-filters-group-collapse-toggle {{#unless page.q}}collapsed{{" + 1125 "/unless}}\""); 1126 1127 WriteLiteral(" data-toggle=\"collapse\""); 1128 1129 WriteLiteral(" data-target=\"#e-productlist-filters-group-search\""); 1130 1131 WriteLiteral(">\r\n <i"); 1132 1133 WriteLiteral(" class=\"material-icons\""); 1134 1135 WriteLiteral(">arrow_drop_down</i>\r\n <span"); 1136 1137 WriteLiteral(" class=\"e-productlist-filters-group-name small py-1\""); 1138 1139 WriteLiteral(">"); 1140 1141 1142 #line 298 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1143 Write(Translate("eCom Productlist Filters - Search - Heading", "Search")); 1144 1145 1146 #line default 1147 #line hidden 1148 WriteLiteral("</span>\r\n </a>\r\n {{#if page.q}}\r\n <button"); 1149 1150 WriteLiteral(" type=\"button\""); 1151 1152 WriteLiteral(" class=\"btn btn-link pr-0 js-e-productlist-filters-search-clear\""); 1153 1154 WriteLiteral(">\r\n"); 1155 1156 WriteLiteral(" "); 1157 1158 1159 #line 302 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1160 Write(Translate("eCom Productlist Filter - Group Reset - Button", "Reset")); 1161 1162 1163 #line default 1164 #line hidden 1165 WriteLiteral("\r\n </button>\r\n {{/if}}\r\n </p>\r\n <fieldset"); 1166 1167 WriteLiteral(" id=\"e-productlist-filters-group-search\""); 1168 1169 WriteLiteral(" class=\"e-productlist-filters-group-options mb-2 small collapse {{#if page.q}}sho" + 1170 "w{{/if}}\""); 1171 1172 WriteLiteral(">\r\n <div"); 1173 1174 WriteLiteral(" class=\"js-e-search-input-group e-search-input-group {{#unless page.q}}is-empty{{" + 1175 "/unless}}\""); 1176 1177 WriteLiteral(">\r\n <label"); 1178 1179 WriteLiteral(" class=\"e-search-label\""); 1180 1181 WriteLiteral(" for=\"filter_search\""); 1182 1183 WriteLiteral("><i"); 1184 1185 WriteLiteral(" class=\"material-icons\""); 1186 1187 WriteLiteral(">search</i></label>\r\n <input"); 1188 1189 WriteLiteral(" type=\"text\""); 1190 1191 WriteLiteral(" class=\"js-e-search-input e-search-input e-productlist-filters-search-input form-" + 1192 "control-plaintext\""); 1193 1194 WriteLiteral(" name=\"q\""); 1195 1196 WriteLiteral(" id=\"filter_search\""); 1197 1198 WriteLiteral(" value=\"{{page.q}}\""); 1199 1200 WriteLiteral(">\r\n <span"); 1201 1202 WriteLiteral(" class=\"js-e-search-clear e-search-clear\""); 1203 1204 WriteLiteral("><i"); 1205 1206 WriteLiteral(" class=\"material-icons\""); 1207 1208 WriteLiteral(">close</i></span>\r\n <button"); 1209 1210 WriteLiteral(" class=\"e-search-submit btn btn-primary js-e-productlist-filters-search-submit\""); 1211 1212 WriteLiteral(" type=\"button\""); 1213 1214 WriteLiteral("><i"); 1215 1216 WriteLiteral(" class=\"material-icons pa-0\""); 1217 1218 WriteLiteral(">search</i></button>\r\n </div>\r\n </fieldset>\r\n </div>\r\n"); 1219 1220 1221 #line 315 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1222 } 1223 1224 1225 #line default 1226 #line hidden 1227 WriteLiteral(@" 1228 1229 1230 {{#each facets}} 1231 {{#compare count '>' 0}} 1232 <div class=""e-productlist-filters-group js-e-productlist-filters-group""> 1233 <p class=""e-productlist-filters-group-header font-weight-bold small mb-0""> 1234 <a class=""e-productlist-filters-group-collapse-toggle {{#unless selectedOptions.length }}{{#compare "); 1235 1236 WriteLiteral("@first \'&&\' "); 1237 1238 WriteLiteral(@"@root.page.hasNoInteraction}}{{else}}collapsed{{/compare}}{{/unless}}"" data-toggle=""collapse"" data-target=""#e-productlist-filters-group-{{param}}""> 1239 <i class=""material-icons"">arrow_drop_down</i> 1240 <span class=""e-productlist-filters-group-name small py-1"">{{label}}</span> 1241 </a> 1242 {{#if selectedOptions.length}} 1243 <label for=""reset-filter-{{param}}"" class=""small m-0 btn btn-link pr-0""> 1244 "); 1245 1246 WriteLiteral(" "); 1247 1248 1249 #line 329 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1250 Write(Translate("eCom Productlist Filter - Group Reset - Label", "Reset")); 1251 1252 1253 #line default 1254 #line hidden 1255 WriteLiteral(@" 1256 </label> 1257 {{/if}} 1258 </p> 1259 <fieldset id=""e-productlist-filters-group-{{param}}"" class=""e-productlist-filters-group-options js-e-productlist-filters-group-options mb-2 small collapse {{#if selectedOptions.length }}is-expanded{{else}}{{#compare "); 1260 1261 WriteLiteral("@first \'&&\' "); 1262 1263 WriteLiteral("@root.page.hasNoInteraction}}is-expanded{{/compare}}{{/if}}\">\r\n <div c" + 1264 "lass=\"{{#compare count \'>\' "); 1265 1266 1267 #line 334 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1268 Write(Espresso.Item.FiltersVisibleOptionCount); 1269 1270 1271 #line default 1272 #line hidden 1273 WriteLiteral(@" }}js-e-productlist-filters-options-collapse-peek e-productlist-filters-options-collapse-peek is-peeking{{/compare}}""> 1274 <div class=""e-productlist-filters-option js-e-productlist-filters-option""> 1275 <label for=""reset-filter-{{param}}"" class=""custom-control custom-checkbox""> 1276 <input class=""js-e-productlist-filters-option-reset-group custom-control-input"" name=""reset-filter-{{param}}"" id=""reset-filter-{{param}}"" type=""checkbox"" value=""true"" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 1277 <span class=""custom-control-indicator""></span> 1278 <span class=""custom-control-description small"">"); 1279 1280 1281 #line 339 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1282 Write(Translate("eCom Productlist Filter - Options View All - Label", "All")); 1283 1284 1285 #line default 1286 #line hidden 1287 WriteLiteral(@"</span> 1288 </label> 1289 </div> 1290 {{#each options}} 1291 <div class=""e-productlist-filters-option js-e-productlist-filters-option {{#if isSelected}}is-selected{{/if}} {{#if isDisabled}}is-disabled text-muted{{/if}}""> 1292 <label for=""{{id}}"" class=""custom-control custom-checkbox""> 1293 <input id=""{{id}}"" name=""{{param}}"" class=""js-e-productlist-filter custom-control-input"" type=""checkbox"" value=""{{value}}"" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 1294 <span class=""custom-control-indicator""></span> 1295 <span class=""custom-control-description small"">{{label}} <span class=""e-productlist-filters-option-count small text-muted"">({{count}})</span></span> 1296 </label> 1297 </div> 1298 {{/each}} 1299 {{#compare count '>' "); 1300 1301 1302 #line 351 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1303 Write(Espresso.Item.FiltersVisibleOptionCount); 1304 1305 1306 #line default 1307 #line hidden 1308 WriteLiteral(" }}\r\n <a href=\"#\" class=\"js-e-productlist-filters-options-collapse" + 1309 "-peek-toggle e-productlist-filters-options-collapse-peek-toggle small\" data-clos" + 1310 "ed-text=\""); 1311 1312 1313 #line 352 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1314 Write(Translate("eCom Productlist Filter - Options Show More - Link", "Show more")); 1315 1316 1317 #line default 1318 #line hidden 1319 WriteLiteral("\" data-open-text=\""); 1320 1321 1322 #line 352 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1323 Write(Translate("eCom Productlist Filter - Options Show Less - Link", "Show less")); 1324 1325 1326 #line default 1327 #line hidden 1328 WriteLiteral("\"><i class=\"material-icons\">keyboard_arrow_down</i></a>\r\n {{/compare" + 1329 "}}\r\n </div>\r\n </fieldset>\r\n </div>\r\n {{/compare}" + 1330 "}\r\n {{/each}}\r\n"); 1331 1332 1333 #line 359 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1334 1335 1336 #line default 1337 #line hidden 1338 1339 #line 359 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1340 if( Espresso.Item.FiltersPriceRangeShow == "True" ){ 1341 1342 1343 #line default 1344 #line hidden 1345 WriteLiteral(" <div"); 1346 1347 WriteLiteral(" class=\"e-productlist-filters-group js-e-productlist-filters-group\""); 1348 1349 WriteLiteral(">\r\n <p"); 1350 1351 WriteLiteral(" class=\"e-productlist-filters-group-header font-weight-bold small mb-0\""); 1352 1353 WriteLiteral(">\r\n <a"); 1354 1355 WriteLiteral(" class=\"e-productlist-filters-group-collapse-toggle {{#compare page.minPrice.clea" + 1356 "n \'!!\' page.maxPrice.clean}}collapsed{{/compare}}\""); 1357 1358 WriteLiteral(" data-toggle=\"collapse\""); 1359 1360 WriteLiteral(" data-target=\"#e-productlist-filters-group-pricerange\""); 1361 1362 WriteLiteral(">\r\n <i"); 1363 1364 WriteLiteral(" class=\"material-icons\""); 1365 1366 WriteLiteral(">arrow_drop_down</i>\r\n <span"); 1367 1368 WriteLiteral(" class=\"e-productlist-filters-group-name small py-1\""); 1369 1370 WriteLiteral(">"); 1371 1372 1373 #line 364 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1374 Write(Translate("eCom Productlist Filters - Price Range - Heading", "Price")); 1375 1376 1377 #line default 1378 #line hidden 1379 WriteLiteral("</span>\r\n </a>\r\n {{#compare page.minPrice.clean \'||\' page.maxPrice." + 1380 "clean}}\r\n <button"); 1381 1382 WriteLiteral(" type=\"button\""); 1383 1384 WriteLiteral(" class=\"btn btn-link pr-0 js-e-productlist-filters-range-clear\""); 1385 1386 WriteLiteral(">\r\n"); 1387 1388 WriteLiteral(" "); 1389 1390 1391 #line 368 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1392 Write(Translate("eCom Productlist Filter - Group Reset - Button", "Reset")); 1393 1394 1395 #line default 1396 #line hidden 1397 WriteLiteral("\r\n </button>\r\n {{/compare}}\r\n </p>\r\n <fieldset"); 1398 1399 WriteLiteral(" id=\"e-productlist-filters-group-pricerange\""); 1400 1401 WriteLiteral(" class=\"e-productlist-filters-group-options mb-2 small collapse {{#compare page.m" + 1402 "inPrice.clean \'||\' page.maxPrice.clean}}show{{/compare}}\""); 1403 1404 WriteLiteral(">\r\n <div"); 1405 1406 WriteLiteral(" id=\"js-e-productlist-filters-range-group-price\""); 1407 1408 WriteLiteral(" class=\"row mt-1 e-productlist-filters-range-group js-e-productlist-filters-range" + 1409 "-group\""); 1410 1411 WriteLiteral(">\r\n <div"); 1412 1413 WriteLiteral(" class=\"col-12 col-lg-4 mb-1\""); 1414 1415 WriteLiteral(">\r\n <input"); 1416 1417 WriteLiteral(" type=\"text\""); 1418 1419 WriteLiteral(" class=\"form-control js-e-productlist-filters-range js-e-productlist-filters-rang" + 1420 "e-min\""); 1421 1422 WriteLiteral(" name=\"PriceRangeMin\""); 1423 1424 WriteLiteral(" id=\"PriceRangeMin\""); 1425 1426 WriteLiteral(" value=\"{{page.minPrice.clean}}\""); 1427 1428 WriteAttribute("placeholder", Tuple.Create(" placeholder=\"", 23320), Tuple.Create("\"", 23399) 1429 1430 #line 375 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1431 , Tuple.Create(Tuple.Create("", 23334), Tuple.Create<System.Object, System.Int32>(Translate("eCom Productlist Filters - Price Min - Text", "From") 1432 1433 #line default 1434 #line hidden 1435 , 23334), false) 1436 ); 1437 1438 WriteLiteral(" min=\"0\""); 1439 1440 WriteLiteral(">\r\n </div>\r\n <div"); 1441 1442 WriteLiteral(" class=\"col-12 col-lg-4 mb-1\""); 1443 1444 WriteLiteral(">\r\n <input"); 1445 1446 WriteLiteral(" type=\"text\""); 1447 1448 WriteLiteral(" class=\"form-control js-e-productlist-filters-range js-e-productlist-filters-rang" + 1449 "e-max\""); 1450 1451 WriteLiteral(" name=\"PriceRangeMax\""); 1452 1453 WriteLiteral(" id=\"PriceRangeMax\""); 1454 1455 WriteLiteral(" value=\"{{page.maxPrice.clean}}\""); 1456 1457 WriteAttribute("placeholder", Tuple.Create(" placeholder=\"", 23664), Tuple.Create("\"", 23741) 1458 1459 #line 378 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1460 , Tuple.Create(Tuple.Create("", 23678), Tuple.Create<System.Object, System.Int32>(Translate("eCom Productlist Filters - Price Max - Text", "To") 1461 1462 #line default 1463 #line hidden 1464 , 23678), false) 1465 ); 1466 1467 WriteLiteral(" data-msg-rangeValid=\""); 1468 1469 1470 #line 378 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1471 Write(Translate("eCom Productlist Filters - Price Error - Msg", "Prices entered incorrectly")); 1472 1473 1474 #line default 1475 #line hidden 1476 WriteLiteral("\""); 1477 1478 WriteLiteral(">\r\n </div>\r\n <div"); 1479 1480 WriteLiteral(" class=\"col-12 col-lg-3\""); 1481 1482 WriteLiteral(">\r\n <button"); 1483 1484 WriteLiteral(" type=\"button\""); 1485 1486 WriteLiteral(" class=\"btn btn-primary px-0 btn-sm btn-block e-productlist-filters-apply-range j" + 1487 "s-e-productlist-filters-apply-range\""); 1488 1489 WriteLiteral("><i"); 1490 1491 WriteLiteral(" class=\"material-icons\""); 1492 1493 WriteLiteral(">sync</i></button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n </di" + 1494 "v>\r\n"); 1495 1496 1497 #line 386 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1498 } 1499 1500 1501 #line default 1502 #line hidden 1503 WriteLiteral(" </div>\r\n</script>\r\n\r\n </div>\r\n"); 1504 1505 1506 #line 391 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1507 } 1508 1509 1510 #line default 1511 #line hidden 1512 WriteLiteral(" </form>\r\n </div>\r\n\r\n <div"); 1513 1514 WriteAttribute("class", Tuple.Create(" class=\"", 24320), Tuple.Create("\"", 24349) 1515 1516 #line 395 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1517 , Tuple.Create(Tuple.Create("", 24328), Tuple.Create<System.Object, System.Int32>(productListClassList 1518 1519 #line default 1520 #line hidden 1521 , 24328), false) 1522 ); 1523 1524 WriteLiteral(">\r\n <div"); 1525 1526 WriteLiteral(" id=\"js-e-productlist-products\""); 1527 1528 WriteLiteral(">\r\n <ul hidden itemscope"); 1529 1530 WriteLiteral(" itemtype=\"http://schema.org/ItemList\""); 1531 1532 WriteLiteral(">\r\n"); 1533 1534 1535 #line 398 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1536 1537 1538 #line default 1539 #line hidden 1540 1541 #line 398 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1542 foreach ( LoopItem product in GetLoop("Products") ) { 1543 1544 1545 #line default 1546 #line hidden 1547 WriteLiteral(" <li"); 1548 1549 WriteLiteral(" itemprop=\"itemListElement\""); 1550 1551 WriteLiteral(" itemscope"); 1552 1553 WriteLiteral(" itemtype=\"http://schema.org/Product\""); 1554 1555 WriteLiteral(">\r\n <a"); 1556 1557 WriteAttribute("href", Tuple.Create(" href=\"", 24628), Tuple.Create("\"", 24747) 1558 1559 #line 400 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1560 , Tuple.Create(Tuple.Create("", 24635), Tuple.Create<System.Object, System.Int32>(getProductLink( product.GetString("Ecom:Product.PrimaryOrFirstGroupID"), product.GetString("Ecom:Product.ID") ) 1561 1562 #line default 1563 #line hidden 1564 , 24635), false) 1565 ); 1566 1567 WriteAttribute("title", Tuple.Create(" title=\"", 24748), Tuple.Create("\"", 24795) 1568 1569 #line 400 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1570 , Tuple.Create(Tuple.Create("", 24756), Tuple.Create<System.Object, System.Int32>(product.GetString("Ecom:Product.Name") 1571 1572 #line default 1573 #line hidden 1574 , 24756), false) 1575 ); 1576 1577 WriteLiteral(" itemprop=\"url\""); 1578 1579 WriteLiteral(">\r\n <h3"); 1580 1581 WriteLiteral(" itemprop=\"name\""); 1582 1583 WriteLiteral(">"); 1584 1585 1586 #line 401 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1587 Write(product.GetString("Ecom:Product.Name")); 1588 1589 1590 #line default 1591 #line hidden 1592 WriteLiteral("</h3>\r\n <p"); 1593 1594 WriteLiteral(" itemprop=\"description\""); 1595 1596 WriteLiteral(">"); 1597 1598 1599 #line 402 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1600 Write(product.GetString("Ecom:Product.ShortDescription")); 1601 1602 1603 #line default 1604 #line hidden 1605 WriteLiteral("</p>\r\n </a>\r\n </li>\r\n"); 1606 1607 1608 #line 405 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1609 } 1610 1611 1612 #line default 1613 #line hidden 1614 WriteLiteral("</ul>\r\n <script"); 1615 1616 WriteLiteral(" id=\"js-e-handlebars-tmpl-productlist-products\""); 1617 1618 WriteLiteral(" type=\"text/x-handlebars-template\""); 1619 1620 WriteLiteral(@"> 1621 <div class=""e-products""> 1622 <div class=""e-loading-overlay e-products-loading-overlay js-e-products-loading-overlay is-loading""> 1623 <div class=""e-loading-spinner""></div> 1624 </div> 1625 {{#if page.productCount}} 1626 <div class=""row""> 1627 {{#each products}} 1628 1629 <div class=""col-"); 1630 1631 1632 #line 416 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1633 Write(width.xs); 1634 1635 1636 #line default 1637 #line hidden 1638 WriteLiteral(" col-sm-"); 1639 1640 1641 #line 416 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1642 Write(width.sm); 1643 1644 1645 #line default 1646 #line hidden 1647 WriteLiteral(" col-md-"); 1648 1649 1650 #line 416 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1651 Write(width.md); 1652 1653 1654 #line default 1655 #line hidden 1656 WriteLiteral(" col-lg-"); 1657 1658 1659 #line 416 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1660 Write(width.lg); 1661 1662 1663 #line default 1664 #line hidden 1665 WriteLiteral(" col-xl-"); 1666 1667 1668 #line 416 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1669 Write(width.xl); 1670 1671 1672 #line default 1673 #line hidden 1674 WriteLiteral(@"""> 1675 <div class=""e-products-item js-e-products-item""> 1676 <div class=""e-products-item-container""> 1677 <div class=""e-products-item-image-container""> 1678 <a class=""e-products-item-image-wrapper"" href=""{{url}}""> 1679 <img src=""{{imageLarge}}"" alt="""" class=""e-products-item-image""> 1680 </a> 1681 </div> 1682 <div class=""e-products-item-text-container text-center""> 1683 <h3 class=""e-products-item-name mb-0""><a href=""{{url}}"">{{name}}</a></h3> 1684 {{#if descriptionShortExtra01}} 1685 <p class=""e-products-item-text mb-0""> 1686 <a href=""{{url}}""> 1687 {{descriptionShortExtra01}} 1688 </a> 1689 </p> 1690 {{/if}} 1691 <p class=""e-products-item-text mb-0""> 1692 <small class=""e-products-item-price text-muted small""> 1693 <a href=""{{url}}""> 1694 {{{price}}} 1695 </a> 1696 </small> 1697 </p> 1698 </div> 1699 </div> 1700 </div> 1701 </div> 1702 1703 {{/each}} 1704 </div> 1705 {{else}} 1706 <div class=""alert alert-warning mt-2"" role=""alert""> 1707 <strong><i class=""material-icons material-icons-2x"">sentiment_dissatisfied</i> "); 1708 1709 1710 #line 449 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1711 Write(Translate( "eCom Productlist - Sorry - Text", "Sorry..")); 1712 1713 1714 #line default 1715 #line hidden 1716 WriteLiteral("</strong>\r\n <br> "); 1717 1718 1719 #line 450 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1720 Write(Translate( "eCom Productlist - No Products - Text", "No products match your choices.")); 1721 1722 1723 #line default 1724 #line hidden 1725 WriteLiteral("\r\n </div>\r\n {{/if}}\r\n </div>\r\n</script>\r\n </div>\r\n"); 1726 1727 1728 #line 456 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1729 1730 1731 #line default 1732 #line hidden 1733 1734 #line 456 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1735 if( Espresso.Item.FooterShow == "True" ){ 1736 1737 1738 #line default 1739 #line hidden 1740 WriteLiteral("<div"); 1741 1742 WriteLiteral(" class=\"row\""); 1743 1744 WriteLiteral(">\r\n <div"); 1745 1746 WriteLiteral(" class=\"col-12\""); 1747 1748 WriteLiteral(">\r\n <div"); 1749 1750 WriteLiteral(" class=\"e-products-footer row pt-1\""); 1751 1752 WriteLiteral(">\r\n <div"); 1753 1754 WriteLiteral(" class=\"col-6\""); 1755 1756 WriteLiteral(">\r\n <small>"); 1757 1758 1759 #line 461 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1760 Write(Translate( "eCom Productlist - Price Info - Text Public", "All prices are incl. VAT" )); 1761 1762 1763 #line default 1764 #line hidden 1765 WriteLiteral("</small>\r\n</div>\r\n\r\n"); 1766 1767 1768 #line 464 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1769 1770 1771 #line default 1772 #line hidden 1773 1774 #line 464 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1775 if( Espresso.Item.PagingShow == "True" ){ 1776 1777 1778 #line default 1779 #line hidden 1780 WriteLiteral(" <div"); 1781 1782 WriteLiteral(" class=\"col-6\""); 1783 1784 WriteLiteral(">\r\n <div"); 1785 1786 WriteLiteral(" class=\"align-items-center d-flex e-products-paging h-100 js-e-products-paging ju" + 1787 "stify-content-end\""); 1788 1789 WriteLiteral(">\r\n <script"); 1790 1791 WriteLiteral(" id=\"js-e-handlebars-tmpl-productlist-paging\""); 1792 1793 WriteLiteral(" type=\"text/x-handlebars-template\""); 1794 1795 WriteLiteral(">\r\n <small class=\"text-nowrap mr-1\">\r\n {{#if page.productCount}}\r\n " + 1796 " <strong>{{page.viewing.from}} - {{page.viewing.to}}</strong> "); 1797 1798 1799 #line 470 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1800 Write(Translate( "eCom Productlist Paging - Product Count Of - Text", "of")); 1801 1802 1803 #line default 1804 #line hidden 1805 WriteLiteral(@" 1806 {{/if}} 1807 <strong> {{page.productCount}}</strong> 1808 </small> 1809 {{#compare page.prevPage '!==' 0 }} 1810 <a href=""{{page.pagingUrl}}={{page.prevPage}}"" class=""btn btn-link btn-lg p-0 pl-1 mr-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.prevPage}}""> 1811 <i class=""material-icons"">keyboard_arrow_left</i><span class=""d-none d-lg-inline"">"); 1812 1813 1814 #line 476 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1815 Write(Translate( "eCom Productlist Paging - Previous - Text", "Previous")); 1816 1817 1818 #line default 1819 #line hidden 1820 WriteLiteral(@"</span> 1821 </a> 1822 {{/compare}} 1823 {{#compare page.nextPage '!==' 0 }} 1824 <a href=""{{page.pagingUrl}}={{page.nextPage}}"" class=""btn btn-link btn-lg p-0 pr-1 ml-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.nextPage}}""> 1825 <span class=""d-none d-lg-inline"">"); 1826 1827 1828 #line 481 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1829 Write(Translate( "eCom Productlist Paging - Next - Text", "Next")); 1830 1831 1832 #line default 1833 #line hidden 1834 WriteLiteral(@"</span><i class=""material-icons"">keyboard_arrow_right</i></a> 1835 {{/compare}} 1836 {{#compare page.pageSize '!==' 999}} 1837 {{#compare page.totalPages '>' 1 }} 1838 <a href=""{{page.pagingUrl}}=9999"" class=""btn btn-link btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none d-md-inline"" data-page-size=""999""> 1839 "); 1840 1841 WriteLiteral(" "); 1842 1843 1844 #line 486 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1845 Write(Translate( "eCom Productlist Paging - Show All - Text", "Show all")); 1846 1847 1848 #line default 1849 #line hidden 1850 WriteLiteral("\r\n </a>\r\n {{/compare}}\r\n {{/compare}}\r\n {" + 1851 "{#compare page.pageSize \'===\' 999}}\r\n <a href=\"#\" class=\"btn btn-link" + 1852 " btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none\" data-page-size=\""); 1853 1854 1855 #line 491 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1856 Write(Espresso.Item.Pagesize); 1857 1858 1859 #line default 1860 #line hidden 1861 WriteLiteral("\">"); 1862 1863 1864 #line 491 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1865 Write(Translate( "eCom Productlist Paging - Reset - Link", "Reset")); 1866 1867 1868 #line default 1869 #line hidden 1870 WriteLiteral("</a>\r\n {{/compare}}\r\n </script>\r\n </div>\r\n</div>\r\n"); 1871 1872 1873 #line 496 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1874 } 1875 1876 1877 #line default 1878 #line hidden 1879 WriteLiteral(" "); 1880 1881 1882 #line 497 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1883 if ( Espresso.Item.FiltersShow == "True" ) { 1884 1885 1886 #line default 1887 #line hidden 1888 WriteLiteral(" <button"); 1889 1890 WriteLiteral(" class=\"btn btn-block btn-primary mt-2 d-lg-none\""); 1891 1892 WriteLiteral(" type=\"button\""); 1893 1894 WriteLiteral(" data-toggle=\"modal\""); 1895 1896 WriteLiteral(" data-target=\"#js-e-productlist-filters-modal\""); 1897 1898 WriteLiteral(">"); 1899 1900 1901 #line 498 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1902 Write(Translate( "eCom Productlist Filters - Customize Selection - Button", "Customize selection")); 1903 1904 1905 #line default 1906 #line hidden 1907 WriteLiteral("</button>\r\n"); 1908 1909 1910 #line 499 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1911 } 1912 1913 1914 #line default 1915 #line hidden 1916 WriteLiteral(" </div>\r\n </div>\r\n</div>\r\n"); 1917 1918 1919 #line 503 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1920 } 1921 1922 1923 #line default 1924 #line hidden 1925 WriteLiteral("\r\n </div>\r\n </div>\r\n</div>\r\n\r\n"); 1926 1927 1928 #line 509 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1929 if( Espresso.Item.FiltersShow == "True" ) { 1930 1931 1932 #line default 1933 #line hidden 1934 WriteLiteral(" <div"); 1935 1936 WriteLiteral(" id=\"js-e-productlist-filters-modal\""); 1937 1938 WriteLiteral(" class=\"modal fade e-productlist-filters-modal js-e-productlist-filters-modal mod" + 1939 "al-fullscreen d-lg-none\""); 1940 1941 WriteLiteral(" data-backdrop=\"false\""); 1942 1943 WriteLiteral(">\r\n <script"); 1944 1945 WriteLiteral(" id=\"js-e-handlebars-tmpl-productlist-filters-modal\""); 1946 1947 WriteLiteral(" type=\"text/x-handlebars-template\""); 1948 1949 WriteLiteral(">\r\n <div class=\"modal-dialog\">\r\n <div class=\"modal-content\">\r\n <bu" + 1950 "tton type=\"button\" class=\"close\" data-dismiss=\"modal\">\r\n <i class=\"mate" + 1951 "rial-icons\">close</i>\r\n </button>\r\n <legend class=\"modal-header\">\r" + 1952 "\n"); 1953 1954 WriteLiteral(" "); 1955 1956 1957 #line 518 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1958 Write(Translate("eCom Productlist Filters - Customize Selection - Heading", "Customize Selection")); 1959 1960 1961 #line default 1962 #line hidden 1963 WriteLiteral("\r\n </legend>\r\n <div class=\"modal-body\">\r\n <ul class=\"list-" + 1964 "group\">\r\n <strong>"); 1965 1966 1967 #line 522 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1968 Write(Translate("eCom Productlist Filters - Customize Selection - Heading", "Customize Selection")); 1969 1970 1971 #line default 1972 #line hidden 1973 WriteLiteral(@"</strong> 1974 {{#each facets}} 1975 <li class=""list-group-item e-productlist-filters-group""> 1976 <h4 class=""mb-1""> 1977 <a id=""filter-header-{{param}}"" class=""e-productlist-filters-group-header"" data-toggle=""collapse"" data-target=""#filter-modal-panel-{{param}}""> 1978 {{label}} 1979 {{#if selectedOptions.length}} 1980 <span>({{selectedOptions.length}})</span> 1981 {{/if}} 1982 <i class=""material-icons e-productlist-filters-collapse-icon"">arrow_drop_down</i> 1983 </a> 1984 </h4> 1985 <div id=""filter-modal-panel-{{param}}"" class=""e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#if selectedOptions.length }}in{{/if}} mb-1""> 1986 <div class=""row mt-2""> 1987 <div class=""col-6 col-sm-4 col-md-3""> 1988 <input class=""js-e-productlist-filters-reset-all"" name=""reset-filter-{{param}}"" id=""reset-filter-{{param}}"" type=""checkbox"" value=""true"" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 1989 <label for=""reset-filter-{{param}}""> 1990 "); 1991 1992 WriteLiteral(" "); 1993 1994 1995 #line 539 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 1996 Write(Translate("eCom Productlist Filters - All - Label", "All ")); 1997 1998 1999 #line default 2000 #line hidden 2001 WriteLiteral(@" 2002 </label> 2003 </div> 2004 {{#each options}} 2005 <div class=""col-6 col-sm-4 col-md-3""> 2006 <input type=""checkbox"" value=""{{value}}"" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 2007 <label class=""js-e-productlist-filters-label-mobile"" for=""{{id}}""> 2008 {{label}} <span class=""small"">({{count}})</span> 2009 </label> 2010 </div> 2011 {{/each}} 2012 </div> 2013 </div> 2014 </li> 2015 {{/each}} 2016 <li class=""list-group-item e-productlist-filters-group""> 2017 <h4 class=""mb-1""> 2018 <a id=""filter-header-price"" class=""e-productlist-filters-group-header"" data-toggle=""collapse"" data-target=""#filter-modal-panel-price""> 2019 "); 2020 2021 WriteLiteral(" "); 2022 2023 2024 #line 557 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 2025 Write(Translate("eCom Productlist Filters - Price Range - Heading", "Price")); 2026 2027 2028 #line default 2029 #line hidden 2030 WriteLiteral(@" 2031 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 2032 <span>(1)</span> 2033 {{/compare}} 2034 <i class=""material-icons e-productlist-filters-collapse-icon"">arrow_drop_down</i> 2035 </a> 2036 </h4> 2037 <div id=""filter-modal-panel-price"" class=""e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#compare page.minPrice.clean '||' page.maxPrice.clean}}in{{/compare}} mb-1""> 2038 <div class=""row mt-1 e-productlist-filters-range-group js-e-productlist-filters-range-group""> 2039 <div class=""col-4""> 2040 <input type=""number"" class=""form-control js-e-productlist-filters-range js-e-productlist-filters-range-min"" name=""PriceRangeMin"" id=""PriceRangeMinModal"" value=""{{page.minPrice.clean}}"" placeholder="""); 2041 2042 2043 #line 567 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 2044 Write(Translate("eCom Productlist - Filters Price Min - Text ", "From ")); 2045 2046 2047 #line default 2048 #line hidden 2049 WriteLiteral(@""" min=""0""> 2050 </div> 2051 <div class=""col-4""> 2052 <input type=""number"" class=""form-control js-e-productlist-filters-range js-e-productlist-filters-range-max"" name=""PriceRangeMax"" id=""PriceRangeMaxModal"" value=""{{page.maxPrice.clean}}"" placeholder="""); 2053 2054 2055 #line 570 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 2056 Write(Translate("eCom Productlist Filters - Price Max - Text ", "To ")); 2057 2058 2059 #line default 2060 #line hidden 2061 WriteLiteral("\" data-msg-pricerange=\""); 2062 2063 2064 #line 570 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 2065 Write(Translate("eCom Productlist Filters - Price Error - Msg ", "Prices entered incorrectly ")); 2066 2067 2068 #line default 2069 #line hidden 2070 WriteLiteral(@"""> 2071 </div> 2072 <div class=""col-1""> 2073 <button type=""button"" class=""btn btn-link px-0 e-productlist-filters-clear-range js-e-productlist-filters-range-clear"" data-group-id=""js-e-productlist-filters-range-group-price""><i class=""material-icons"">clear</i></button> 2074 </div> 2075 <div class=""col-3""> 2076 <button type=""button"" class=""btn btn-primary px-0 btn-sm btn-block e-productlist-filters-apply-range js-e-productlist-filters-apply-range""><i class=""material-icons"">sync</i></button> 2077 </div> 2078 </div> 2079 </div> 2080 </li> 2081 </ul> 2082 <div class=""modal-footer""> 2083 <a href=""#"" class=""btn btn-outline-primary js-e-productlist-filters-clear-all"">"); 2084 2085 2086 #line 583 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 2087 Write(Translate("eCom Productlist Filters - Reset Filter - Link", "Reset all")); 2088 2089 2090 #line default 2091 #line hidden 2092 WriteLiteral("</a>\r\n <button type=\"button\" class=\"btn btn-primary\" data-dismiss=\"mod" + 2093 "al\">\r\n"); 2094 2095 WriteLiteral(" "); 2096 2097 2098 #line 585 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 2099 Write(Translate("eCom Productlist Filters - Apply - Button", "Apply")); 2100 2101 2102 #line default 2103 #line hidden 2104 WriteLiteral("\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </scri" + 2105 "pt>\r\n</div>\r\n"); 2106 2107 2108 #line 592 "D:\Dynamicweb.NET\Solutions\us.dvp.dechra.espresso4.dk\Files\Templates\Designs\dechra-dvp\eCom\Productlist\espresso.cshtml" 2109 2110 } 2111 2112 #line default 2113 #line hidden 2114 } 2115 } 2116 } 2117

1 @inherits Co3.Espresso.Website.TemplateBases.Paragraphs.Module 2 @using Dynamicweb.Content.Items.Metadata 3 @using Dynamicweb.Content.Items 4 @using System.Globalization; 5 @using System.Text.RegularExpressions; 6 @using Dynamicweb.Ecommerce.Common; 7 @using Co3.Espresso.Website.Services; 8 9 @functions { 10 CultureInfo AreaCultureInfo = Dynamicweb.Frontend.PageView.Current().Area.CultureInfo; 11 12 public string getProductLink( string groupID, string productID, string variantID = "" ) { 13 string result = string.Empty; 14 string displayPage = ProductService.Instance.GetGroupDisplayPage( groupID ); 15 if( string.IsNullOrEmpty( displayPage ) == false ) { 16 if( string.IsNullOrEmpty( variantID ) == false ) { 17 result = "{0}&ProductID={1}&variantID={2}"; 18 result = string.Format( result, displayPage, productID, variantID ); 19 } 20 else { 21 result = "{0}&ProductID={1}"; 22 result = string.Format( result, displayPage, productID ); 23 } 24 } 25 return result; 26 } 27 28 public bool isProductGroupPublishedOnWebsite( string groupID ) { 29 bool result = false; 30 string displayPage = ProductService.Instance.GetGroupDisplayPage( groupID ); 31 if( string.IsNullOrEmpty( displayPage ) == false ) { 32 result = true; 33 } 34 return result; 35 } 36 37 public string getNewsLink( string categoryName, string newsID ) { 38 string result = ""; 39 string displayPage = NewsService.Instance.GetNewsDisplayPage( categoryName, newsID ); 40 if( string.IsNullOrEmpty( displayPage ) == false ) { 41 string displayPageURL = displayPage.Substring(0, displayPage.LastIndexOf("#")); 42 string newsUrl = displayPage.Substring(displayPage.IndexOf('#') + 1); 43 44 result = SearchEngineFriendlyURLs.GetFriendlyUrl( displayPageURL ) + "?PID=" + newsUrl + "&M=NewsV2&Action=1&NewsID=" + newsID; 45 } 46 return result; 47 } 48 49 public string getImageURL( string url, int width = 2560, int height = 0, int crop = 0, int quality = 75, string format = "jpg" ) { 50 string result = "/files/Images/placeholder-image.png"; 51 if( string.IsNullOrEmpty( url ) == false ) { 52 result = "/admin/public/getimage.ashx?Image={0}&Width={1}&Height={2}&Format={3}&Quality={4}&Crop={5}&AlternativeImage=/files/Images/placeholder-image.png"; 53 result = string.Format( result, url, width, height, format, quality, crop ); 54 } 55 return result; 56 } 57 58 public string getPriceFormatted( string price ) { 59 string result = string.Empty; 60 if( string.IsNullOrEmpty( price ) == true ) { 61 price = Context.Currency.Format(0.00, false); 62 } 63 if ( Context.Currency.SymbolPlace == 0 ) { 64 result = string.Format( "<span class=\"e-product-price-symbol\">{1}</span>&nbsp;{0}", price, Context.Currency.Symbol ); 65 } 66 else{ 67 result = string.Format( "{0}&nbsp;<span class=\"e-product-price-symbol\">{1}</span>", price, Context.Currency.Code ); 68 } 69 return result; 70 } 71 72 public string getShortDate( DateTime date ) { 73 string result = string.Empty; 74 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.ShortDatePattern ).Replace( "-" , "." ); 75 return result; 76 } 77 78 public string getLongDate( DateTime date ) { 79 string result = string.Empty; 80 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.LongDatePattern ); 81 return result; 82 } 83 } 84 @{ 85 string pageUrl = GetGlobalValue("Global:Pageview.Url"); 86 string sortBy = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortBy"]) ? Espresso.Item.ModuleOverride_SortBy : System.Web.HttpContext.Current.Request["SortBy"]; 87 string sortOrder = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortOrder"]) ? Espresso.Item.ModuleOverride_SortOrder : System.Web.HttpContext.Current.Request["SortOrder"]; 88 string pageSize = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageSize"]) ? Espresso.Item.ModuleOverride_PageSize : System.Web.HttpContext.Current.Request["PageSize"]; 89 string pageNum = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageNum"]) ? GetString("Ecom:ProductList.CurrentPage") : System.Web.HttpContext.Current.Request["PageNum"]; 90 string productListClassList = "col-12"; 91 if( Espresso.Item.FiltersShow == "True" ) { 92 productListClassList = "col-12 col-lg-8 col-xl-9"; 93 } 94 95 var paragraph = Dynamicweb.Frontend.PageView.Current().CurrentParagraph; 96 Item item = Dynamicweb.Content.Items.ItemManager.Storage.GetById(paragraph.ItemType, paragraph.ItemId); 97 string includeResponsiveWidthId = item["ItemWidth"].ToString(); 98 Item includeResponsiveWidth = Dynamicweb.Content.Items.ItemManager.Storage.GetById("ParagraphInclude_WidthResponsive", includeResponsiveWidthId); 99 100 dynamic width = new { 101 xs = includeResponsiveWidth["xs"] ?? "6", 102 sm = includeResponsiveWidth["sm"] ?? "6", 103 md = includeResponsiveWidth["md"] ?? "4", 104 lg = includeResponsiveWidth["lg"] ?? "4", 105 xl = includeResponsiveWidth["xl"] ?? "3" 106 }; 107 } 108 <div class="js-e-productlist js-e-loading-overlay-override"> 109 @if( Espresso.Item.SortShow == "True" || Espresso.Item.PagingShow == "True" || Espresso.Item.HeadingShow == "True" ){ 110 <div class="js-e-productslist-header small"> 111 <div class="row align-items-end"> 112 @if( ( Espresso.Item.SortShow == "True" || Espresso.Item.PagingShow == "True" ) && Espresso.Item.HeadingShow == "True" ){ 113 <div class="col-md-12"> 114 <h1 class="">@Espresso.Item.Name</h1> 115 </div> 116 } 117 @if( Espresso.Item.FiltersShow == "True" ){ 118 <div class="d-none d-lg-block col-lg-4 col-xl-3"> 119 <div class="e-productslist-header"> 120 <p class="h2 small m-0"> 121 <i class="material-icons material-icons-large text-primary d-none">playlist_add_check</i> <small>@Translate( "eCom Productlist Filters - Customize Selection - Heading", "Customize selection" )</small> 122 </p> 123 </div> 124 </div> 125 } 126 @if( Espresso.Item.SortShow == "True" || Espresso.Item.PagingShow == "True" || Espresso.Item.HeadingShow == "True" ){ 127 <div class="@productListClassList"> 128 <div class="e-productslist-header small"> 129 @if( ( Espresso.Item.SortShow == "False" && Espresso.Item.PagingShow == "False" ) && Espresso.Item.HeadingShow == "True" ){ 130 <h1 class="h3 m-0">@Espresso.Item.Name (<span class="js-e-productlist-product-count"></span>)</h1> 131 } 132 else{ 133 <div class="row"> 134 @if( Espresso.Item.SortShow == "True" ){ 135 <div class="col-6 @( Espresso.Item.PagingShow != "True" ? "ml-auto" : "" )"> 136 <div class="js-e-productlist-sort"> 137 <script id="js-e-handlebars-tmpl-productlist-sort" type="text/x-handlebars-template"> 138 139 <fieldset class="form-inline"> 140 <div class="form-group @( Espresso.Item.PagingShow != "True" ? "justify-content-end" : "" )"> 141 <label for="Sort" class="mr-1"> 142 @Translate( "eCom Productlist - Sorting - Label", "Sort: ") 143 </label> 144 @{ string[] excludedOptions = {"Name DESC"}; } 145 <select name="Sort" class="js-e-productlist-sort-select custom-select custom-select-sm" style="padding-bottom:0.25em;"> 146 @foreach( FieldOptionMetadata sortByOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "ModuleOverride_SortBy" ).Options.Values ){ 147 foreach( FieldOptionMetadata sortOrderOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "ModuleOverride_SortOrder" ).Options.Values ){ 148 if( excludedOptions.Any( o => o.Contains( String.Format( "{0} {1}", sortByOption.Value, sortOrderOption.Value ) ) ) == false ){ 149 <option value="@String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value)" {{#compare sort.sort '===' '@String.Format( "{0} {1}", sortByOption.Value, sortOrderOption.Value )'}}selected{{/compare}}> 150 @Translate( String.Format( "eCom Productlist - Sorting Option - Label {0} {1}", sortByOption.Value, sortOrderOption.Value ), String.Format( "{0} {1}", sortByOption.Name, sortOrderOption.Name ) ) 151 </option> 152 } 153 } 154 } 155 </select> 156 </div> 157 </fieldset> 158 159 </script> 160 </div> 161 </div> 162 163 164 165 } 166 @if( Espresso.Item.PagingShow == "True" ){ 167 <div class="col-6"> 168 <div class="align-items-center d-flex e-products-paging h-100 js-e-products-paging justify-content-end"> 169 <script id="js-e-handlebars-tmpl-productlist-paging" type="text/x-handlebars-template"> 170 <small class="text-nowrap mr-1"> 171 {{#if page.productCount}} 172 <strong>{{page.viewing.from}} - {{page.viewing.to}}</strong> @Translate( "eCom Productlist Paging - Product Count Of - Text", "of") 173 {{/if}} 174 <strong> {{page.productCount}}</strong> 175 </small> 176 {{#compare page.prevPage '!==' 0 }} 177 <a href="{{page.pagingUrl}}={{page.prevPage}}" class="btn btn-link btn-lg p-0 pl-1 mr-1 js-e-productlist-set-pagenum" data-page-num="{{page.prevPage}}"> 178 <i class="material-icons">keyboard_arrow_left</i><span class="d-none d-lg-inline">@Translate( "eCom Productlist Paging - Previous - Text", "Previous")</span> 179 </a> 180 {{/compare}} 181 {{#compare page.nextPage '!==' 0 }} 182 <a href="{{page.pagingUrl}}={{page.nextPage}}" class="btn btn-link btn-lg p-0 pr-1 ml-1 js-e-productlist-set-pagenum" data-page-num="{{page.nextPage}}"> 183 <span class="d-none d-lg-inline">@Translate( "eCom Productlist Paging - Next - Text", "Next")</span><i class="material-icons">keyboard_arrow_right</i></a> 184 {{/compare}} 185 {{#compare page.pageSize '!==' 999}} 186 {{#compare page.totalPages '>' 1 }} 187 <a href="{{page.pagingUrl}}=9999" class="btn btn-link btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none d-md-inline" data-page-size="999"> 188 @Translate( "eCom Productlist Paging - Show All - Text", "Show all") 189 </a> 190 {{/compare}} 191 {{/compare}} 192 {{#compare page.pageSize '===' 999}} 193 <a href="#" class="btn btn-link btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none" data-page-size="@Espresso.Item.Pagesize">@Translate( "eCom Productlist Paging - Reset - Link", "Reset")</a> 194 {{/compare}} 195 </script> 196 </div> 197 </div> 198 } 199 else{ 200 <div class="col-6 order-first"><span class="js-e-productlist-product-count"></span> @Translate( "eCom Productlist - Product count - Text", "products")</div> 201 } 202 </div> 203 } 204 </div> 205 </div> 206 } 207 @if( Espresso.Item.FiltersShow == "True" ){ 208 <div class="col-12 d-lg-none"> 209 <button class="btn btn-block btn-primary mb-2" type="button" data-toggle="modal" data-target="#js-e-productlist-filters-modal">@Translate( "eCom Productlist Filters - Customize Selection - Button", "Customize selection" )</button> 210 </div> 211 } 212 </div> 213 </div> 214 } 215 216 <div class="row"> 217 218 <div class="d-none d-lg-block col-lg-4 col-xl-3"> 219 <form class="js-e-productlist-form"> 220 <input type="hidden" name="ID" value="@Espresso.Page.ID"> 221 <input type="hidden" name="PageNum" value="@pageNum"> 222 <input type="hidden" name="PageUrl" value="@pageUrl"> 223 <input type="hidden" name="Sort" value="@sortBy @sortOrder"> 224 <input type="hidden" name="SortBy" value="@sortBy"> 225 <input type="hidden" name="SortOrder" value="@sortOrder"> 226 <input type="hidden" name="PageSize" value="@pageSize"> 227 228 @if( Espresso.Item.FiltersShow == "True" ) { 229 foreach (LoopItem facetGroup in GetLoop("FacetGroups") ) { 230 <input type="hidden" name="fg" value="@facetGroup.GetString("FacetGroup.Name")"> 231 } 232 <input type="hidden" class="js-e-visible-options-count" value="@Espresso.Item.FiltersVisibleOptionCount"> 233 <div id="js-e-productlist-filters"> 234 @foreach( LoopItem query in GetLoop("Query.Parameters") ) { 235 if( string.IsNullOrEmpty( query.GetString("Parameter.Value") ) == false ) { 236 <input type="hidden" name="@query.GetString("Parameter.Name")" value="@query.GetString("Parameter.Value")"> 237 } 238 } 239 <script id="js-e-handlebars-tmpl-productlist-filters" type="text/x-handlebars-template"> 240 {{#if page.filtersAppliedCount}} 241 <div class="e-productlist-filters-group"> 242 <p class="e-productlist-filters-group-header font-weight-bold small mb-0"> 243 <span class="e-productlist-filters-group-name small py-1">@Translate("eCom Productlist Filters - Selected - Text", "Selected filters")</span> 244 <button type="button" class="small btn btn-link pr-0 js-e-productlist-filters-clear-all">@Translate("eCom Productlist Filters - Reset Filters - Button", "Reset all")</button> 245 </p> 246 <div class="small"> 247 <ul class="e-productlist-filters-group-options-selected list-unstyled small mb-1"> 248 {{#each facets}} 249 {{#if selectedOptions.length}} 250 {{#each selectedOptions}} 251 <li class="e-productlist-filters-option-selected"><a class="js-e-productlist-filters-remove" href="#" data-value="{{value}}"><i class="material-icons material-icons-fixed text-danger text-left mr-1">clear</i>{{../name}}: {{label}}</a></li> 252 {{/each}} 253 {{/if}} 254 {{/each}} 255 {{#if page.q}} 256 <li class="e-productlist-filters-option-selected"><a class="js-e-productlist-filters-search-clear" href="#"><i class="material-icons material-icons-fixed text-danger mr-1">clear</i>@Translate("eCom Productlist Filters - Search - Text", "Search"): {{page.q}}</a></li> 257 {{/if}} 258 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 259 <li class="e-productlist-filters-option-selected"><a class="js-e-productlist-filters-range-clear" href="#" data-group-id="js-e-productlist-filters-range-group-price"><i class="material-icons material-icons-fixed text-danger mr-1">clear</i>@Translate("eCom Productlist Filters - Price - Heading", "Price"): {{{page.minPrice.formatted}}} - {{{page.maxPrice.formatted}}}</a></li> 260 {{/compare}} 261 </ul> 262 </div> 263 </div> 264 {{/if}} 265 @if( Espresso.Item.FiltersNavigationShow == "True" ){ 266 <div class="e-productlist-filters-group js-e-productlist-filters-group"> 267 <p class="e-productlist-filters-group-header font-weight-bold small mb-0"> 268 <a class="e-productlist-filters-group-collapse-toggle text-black" data-toggle="collapse" data-target="#e-productlist-filters-group-navigation"> 269 <i class="material-icons">arrow_drop_down</i> 270 <span class="e-productlist-filters-group-name small py-1"> 271 @Espresso.Item.NavigationHeading 272 </span> 273 </a> 274 </p> 275 <fieldset id="e-productlist-filters-group-navigation" class="e-productlist-filters-group-options mb-2 small collapse show"> 276 <div class="e-nav-local e-nav-local-vertical"> 277 <nav class="e-nav-local-container"> 278 <ul class="nav flex-column"> 279 @RenderNavigation( new { 280 id = "dwnav-local-" + Espresso.Id, 281 parentid = string.IsNullOrEmpty( Espresso.Item.NavigationParentPage ) == false ? Espresso.Item.NavigationParentPage : Espresso.Page.ID, 282 template = "local-vertical.xslt", 283 startlevel = Espresso.Item.NavigationLevelStart, 284 endlevel = Espresso.Item.NavigationLevelEnd, 285 expandmode = "path", 286 } ) 287 </ul> 288 </nav> 289 </div> 290 </fieldset> 291 </div> 292 } 293 @if( Espresso.Item.FiltersSearchShow == "True" ){ 294 <div class="e-productlist-filters-group js-e-productlist-filters-group"> 295 <p class="e-productlist-filters-group-header font-weight-bold small mb-0"> 296 <a class="e-productlist-filters-group-collapse-toggle {{#unless page.q}}collapsed{{/unless}}" data-toggle="collapse" data-target="#e-productlist-filters-group-search"> 297 <i class="material-icons">arrow_drop_down</i> 298 <span class="e-productlist-filters-group-name small py-1">@Translate("eCom Productlist Filters - Search - Heading", "Search")</span> 299 </a> 300 {{#if page.q}} 301 <button type="button" class="btn btn-link pr-0 js-e-productlist-filters-search-clear"> 302 @Translate("eCom Productlist Filter - Group Reset - Button", "Reset") 303 </button> 304 {{/if}} 305 </p> 306 <fieldset id="e-productlist-filters-group-search" class="e-productlist-filters-group-options mb-2 small collapse {{#if page.q}}show{{/if}}"> 307 <div class="js-e-search-input-group e-search-input-group {{#unless page.q}}is-empty{{/unless}}"> 308 <label class="e-search-label" for="filter_search"><i class="material-icons">search</i></label> 309 <input type="text" class="js-e-search-input e-search-input e-productlist-filters-search-input form-control-plaintext" name="q" id="filter_search" value="{{page.q}}"> 310 <span class="js-e-search-clear e-search-clear"><i class="material-icons">close</i></span> 311 <button class="e-search-submit btn btn-primary js-e-productlist-filters-search-submit" type="button"><i class="material-icons pa-0">search</i></button> 312 </div> 313 </fieldset> 314 </div> 315 } 316 317 318 319 {{#each facets}} 320 {{#compare count '>' 0}} 321 <div class="e-productlist-filters-group js-e-productlist-filters-group"> 322 <p class="e-productlist-filters-group-header font-weight-bold small mb-0"> 323 <a class="e-productlist-filters-group-collapse-toggle {{#unless selectedOptions.length }}{{#compare @@first '&&' @@root.page.hasNoInteraction}}{{else}}collapsed{{/compare}}{{/unless}}" data-toggle="collapse" data-target="#e-productlist-filters-group-{{param}}"> 324 <i class="material-icons">arrow_drop_down</i> 325 <span class="e-productlist-filters-group-name small py-1">{{label}}</span> 326 </a> 327 {{#if selectedOptions.length}} 328 <label for="reset-filter-{{param}}" class="small m-0 btn btn-link pr-0"> 329 @Translate("eCom Productlist Filter - Group Reset - Label", "Reset") 330 </label> 331 {{/if}} 332 </p> 333 <fieldset id="e-productlist-filters-group-{{param}}" class="e-productlist-filters-group-options js-e-productlist-filters-group-options mb-2 small collapse {{#if selectedOptions.length }}is-expanded{{else}}{{#compare @@first '&&' @@root.page.hasNoInteraction}}is-expanded{{/compare}}{{/if}}"> 334 <div class="{{#compare count '>' @Espresso.Item.FiltersVisibleOptionCount }}js-e-productlist-filters-options-collapse-peek e-productlist-filters-options-collapse-peek is-peeking{{/compare}}"> 335 <div class="e-productlist-filters-option js-e-productlist-filters-option"> 336 <label for="reset-filter-{{param}}" class="custom-control custom-checkbox"> 337 <input class="js-e-productlist-filters-option-reset-group custom-control-input" name="reset-filter-{{param}}" id="reset-filter-{{param}}" type="checkbox" value="true" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 338 <span class="custom-control-indicator"></span> 339 <span class="custom-control-description small">@Translate("eCom Productlist Filter - Options View All - Label", "All")</span> 340 </label> 341 </div> 342 {{#each options}} 343 <div class="e-productlist-filters-option js-e-productlist-filters-option {{#if isSelected}}is-selected{{/if}} {{#if isDisabled}}is-disabled text-muted{{/if}}"> 344 <label for="{{id}}" class="custom-control custom-checkbox"> 345 <input id="{{id}}" name="{{param}}" class="js-e-productlist-filter custom-control-input" type="checkbox" value="{{value}}" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 346 <span class="custom-control-indicator"></span> 347 <span class="custom-control-description small">{{label}} <span class="e-productlist-filters-option-count small text-muted">({{count}})</span></span> 348 </label> 349 </div> 350 {{/each}} 351 {{#compare count '>' @Espresso.Item.FiltersVisibleOptionCount }} 352 <a href="#" class="js-e-productlist-filters-options-collapse-peek-toggle e-productlist-filters-options-collapse-peek-toggle small" data-closed-text="@Translate("eCom Productlist Filter - Options Show More - Link", "Show more")" data-open-text="@Translate("eCom Productlist Filter - Options Show Less - Link", "Show less")"><i class="material-icons">keyboard_arrow_down</i></a> 353 {{/compare}} 354 </div> 355 </fieldset> 356 </div> 357 {{/compare}} 358 {{/each}} 359 @if( Espresso.Item.FiltersPriceRangeShow == "True" ){ 360 <div class="e-productlist-filters-group js-e-productlist-filters-group"> 361 <p class="e-productlist-filters-group-header font-weight-bold small mb-0"> 362 <a class="e-productlist-filters-group-collapse-toggle {{#compare page.minPrice.clean '!!' page.maxPrice.clean}}collapsed{{/compare}}" data-toggle="collapse" data-target="#e-productlist-filters-group-pricerange"> 363 <i class="material-icons">arrow_drop_down</i> 364 <span class="e-productlist-filters-group-name small py-1">@Translate("eCom Productlist Filters - Price Range - Heading", "Price")</span> 365 </a> 366 {{#compare page.minPrice.clean '||' page.maxPrice.clean}} 367 <button type="button" class="btn btn-link pr-0 js-e-productlist-filters-range-clear"> 368 @Translate("eCom Productlist Filter - Group Reset - Button", "Reset") 369 </button> 370 {{/compare}} 371 </p> 372 <fieldset id="e-productlist-filters-group-pricerange" class="e-productlist-filters-group-options mb-2 small collapse {{#compare page.minPrice.clean '||' page.maxPrice.clean}}show{{/compare}}"> 373 <div id="js-e-productlist-filters-range-group-price" class="row mt-1 e-productlist-filters-range-group js-e-productlist-filters-range-group"> 374 <div class="col-12 col-lg-4 mb-1"> 375 <input type="text" class="form-control js-e-productlist-filters-range js-e-productlist-filters-range-min" name="PriceRangeMin" id="PriceRangeMin" value="{{page.minPrice.clean}}" placeholder="@Translate("eCom Productlist Filters - Price Min - Text", "From")" min="0"> 376 </div> 377 <div class="col-12 col-lg-4 mb-1"> 378 <input type="text" class="form-control js-e-productlist-filters-range js-e-productlist-filters-range-max" name="PriceRangeMax" id="PriceRangeMax" value="{{page.maxPrice.clean}}" placeholder="@Translate("eCom Productlist Filters - Price Max - Text", "To")" data-msg-rangeValid="@Translate("eCom Productlist Filters - Price Error - Msg", "Prices entered incorrectly")"> 379 </div> 380 <div class="col-12 col-lg-3"> 381 <button type="button" class="btn btn-primary px-0 btn-sm btn-block e-productlist-filters-apply-range js-e-productlist-filters-apply-range"><i class="material-icons">sync</i></button> 382 </div> 383 </div> 384 </fieldset> 385 </div> 386 } 387 </div> 388 </script> 389 390 </div> 391 } 392 </form> 393 </div> 394 395 <div class="@productListClassList"> 396 <div id="js-e-productlist-products"> 397 <ul hidden itemscope itemtype="http://schema.org/ItemList"> 398 @foreach ( LoopItem product in GetLoop("Products") ) { 399 <li itemprop="itemListElement" itemscope itemtype="http://schema.org/Product"> 400 <a href="@getProductLink( product.GetString("Ecom:Product.PrimaryOrFirstGroupID"), product.GetString("Ecom:Product.ID") )" title="@product.GetString("Ecom:Product.Name")" itemprop="url"> 401 <h3 itemprop="name">@product.GetString("Ecom:Product.Name")</h3> 402 <p itemprop="description">@product.GetString("Ecom:Product.ShortDescription")</p> 403 </a> 404 </li> 405 } 406 </ul> 407 <script id="js-e-handlebars-tmpl-productlist-products" type="text/x-handlebars-template"> 408 <div class="e-products"> 409 <div class="e-loading-overlay e-products-loading-overlay js-e-products-loading-overlay is-loading"> 410 <div class="e-loading-spinner"></div> 411 </div> 412 {{#if page.productCount}} 413 <div class="row"> 414 {{#each products}} 415 416 <div class="col-@width.xs col-sm-@width.sm col-md-@width.md col-lg-@width.lg col-xl-@width.xl"> 417 <div class="e-products-item js-e-products-item"> 418 <div class="e-products-item-container"> 419 <div class="e-products-item-image-container"> 420 <a class="e-products-item-image-wrapper" href="{{url}}"> 421 <img src="{{imageLarge}}" alt="" class="e-products-item-image"> 422 </a> 423 </div> 424 <div class="e-products-item-text-container text-center"> 425 <h3 class="e-products-item-name mb-0"><a href="{{url}}">{{name}}</a></h3> 426 {{#if descriptionShortExtra01}} 427 <p class="e-products-item-text mb-0"> 428 <a href="{{url}}"> 429 {{descriptionShortExtra01}} 430 </a> 431 </p> 432 {{/if}} 433 <p class="e-products-item-text mb-0"> 434 <small class="e-products-item-price text-muted small"> 435 <a href="{{url}}"> 436 {{{price}}} 437 </a> 438 </small> 439 </p> 440 </div> 441 </div> 442 </div> 443 </div> 444 445 {{/each}} 446 </div> 447 {{else}} 448 <div class="alert alert-warning mt-2" role="alert"> 449 <strong><i class="material-icons material-icons-2x">sentiment_dissatisfied</i> @Translate( "eCom Productlist - Sorry - Text", "Sorry..")</strong> 450 <br> @Translate( "eCom Productlist - No Products - Text", "No products match your choices.") 451 </div> 452 {{/if}} 453 </div> 454 </script> 455 </div> 456 @if( Espresso.Item.FooterShow == "True" ){ 457 <div class="row"> 458 <div class="col-12"> 459 <div class="e-products-footer row pt-1"> 460 <div class="col-6"> 461 <small>@Translate( "eCom Productlist - Price Info - Text Public", "All prices are incl. VAT" )</small> 462 </div> 463 464 @if( Espresso.Item.PagingShow == "True" ){ 465 <div class="col-6"> 466 <div class="align-items-center d-flex e-products-paging h-100 js-e-products-paging justify-content-end"> 467 <script id="js-e-handlebars-tmpl-productlist-paging" type="text/x-handlebars-template"> 468 <small class="text-nowrap mr-1"> 469 {{#if page.productCount}} 470 <strong>{{page.viewing.from}} - {{page.viewing.to}}</strong> @Translate( "eCom Productlist Paging - Product Count Of - Text", "of") 471 {{/if}} 472 <strong> {{page.productCount}}</strong> 473 </small> 474 {{#compare page.prevPage '!==' 0 }} 475 <a href="{{page.pagingUrl}}={{page.prevPage}}" class="btn btn-link btn-lg p-0 pl-1 mr-1 js-e-productlist-set-pagenum" data-page-num="{{page.prevPage}}"> 476 <i class="material-icons">keyboard_arrow_left</i><span class="d-none d-lg-inline">@Translate( "eCom Productlist Paging - Previous - Text", "Previous")</span> 477 </a> 478 {{/compare}} 479 {{#compare page.nextPage '!==' 0 }} 480 <a href="{{page.pagingUrl}}={{page.nextPage}}" class="btn btn-link btn-lg p-0 pr-1 ml-1 js-e-productlist-set-pagenum" data-page-num="{{page.nextPage}}"> 481 <span class="d-none d-lg-inline">@Translate( "eCom Productlist Paging - Next - Text", "Next")</span><i class="material-icons">keyboard_arrow_right</i></a> 482 {{/compare}} 483 {{#compare page.pageSize '!==' 999}} 484 {{#compare page.totalPages '>' 1 }} 485 <a href="{{page.pagingUrl}}=9999" class="btn btn-link btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none d-md-inline" data-page-size="999"> 486 @Translate( "eCom Productlist Paging - Show All - Text", "Show all") 487 </a> 488 {{/compare}} 489 {{/compare}} 490 {{#compare page.pageSize '===' 999}} 491 <a href="#" class="btn btn-link btn-lg p-0 pl-1 js-e-productlist-set-pagesize d-none" data-page-size="@Espresso.Item.Pagesize">@Translate( "eCom Productlist Paging - Reset - Link", "Reset")</a> 492 {{/compare}} 493 </script> 494 </div> 495 </div> 496 } 497 @if ( Espresso.Item.FiltersShow == "True" ) { 498 <button class="btn btn-block btn-primary mt-2 d-lg-none" type="button" data-toggle="modal" data-target="#js-e-productlist-filters-modal">@Translate( "eCom Productlist Filters - Customize Selection - Button", "Customize selection")</button> 499 } 500 </div> 501 </div> 502 </div> 503 } 504 505 </div> 506 </div> 507 </div> 508 509 @if( Espresso.Item.FiltersShow == "True" ) { 510 <div id="js-e-productlist-filters-modal" class="modal fade e-productlist-filters-modal js-e-productlist-filters-modal modal-fullscreen d-lg-none" data-backdrop="false"> 511 <script id="js-e-handlebars-tmpl-productlist-filters-modal" type="text/x-handlebars-template"> 512 <div class="modal-dialog"> 513 <div class="modal-content"> 514 <button type="button" class="close" data-dismiss="modal"> 515 <i class="material-icons">close</i> 516 </button> 517 <legend class="modal-header"> 518 @Translate("eCom Productlist Filters - Customize Selection - Heading", "Customize Selection") 519 </legend> 520 <div class="modal-body"> 521 <ul class="list-group"> 522 <strong>@Translate("eCom Productlist Filters - Customize Selection - Heading", "Customize Selection")</strong> 523 {{#each facets}} 524 <li class="list-group-item e-productlist-filters-group"> 525 <h4 class="mb-1"> 526 <a id="filter-header-{{param}}" class="e-productlist-filters-group-header" data-toggle="collapse" data-target="#filter-modal-panel-{{param}}"> 527 {{label}} 528 {{#if selectedOptions.length}} 529 <span>({{selectedOptions.length}})</span> 530 {{/if}} 531 <i class="material-icons e-productlist-filters-collapse-icon">arrow_drop_down</i> 532 </a> 533 </h4> 534 <div id="filter-modal-panel-{{param}}" class="e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#if selectedOptions.length }}in{{/if}} mb-1"> 535 <div class="row mt-2"> 536 <div class="col-6 col-sm-4 col-md-3"> 537 <input class="js-e-productlist-filters-reset-all" name="reset-filter-{{param}}" id="reset-filter-{{param}}" type="checkbox" value="true" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 538 <label for="reset-filter-{{param}}"> 539 @Translate("eCom Productlist Filters - All - Label", "All ") 540 </label> 541 </div> 542 {{#each options}} 543 <div class="col-6 col-sm-4 col-md-3"> 544 <input type="checkbox" value="{{value}}" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 545 <label class="js-e-productlist-filters-label-mobile" for="{{id}}"> 546 {{label}} <span class="small">({{count}})</span> 547 </label> 548 </div> 549 {{/each}} 550 </div> 551 </div> 552 </li> 553 {{/each}} 554 <li class="list-group-item e-productlist-filters-group"> 555 <h4 class="mb-1"> 556 <a id="filter-header-price" class="e-productlist-filters-group-header" data-toggle="collapse" data-target="#filter-modal-panel-price"> 557 @Translate("eCom Productlist Filters - Price Range - Heading", "Price") 558 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 559 <span>(1)</span> 560 {{/compare}} 561 <i class="material-icons e-productlist-filters-collapse-icon">arrow_drop_down</i> 562 </a> 563 </h4> 564 <div id="filter-modal-panel-price" class="e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#compare page.minPrice.clean '||' page.maxPrice.clean}}in{{/compare}} mb-1"> 565 <div class="row mt-1 e-productlist-filters-range-group js-e-productlist-filters-range-group"> 566 <div class="col-4"> 567 <input type="number" class="form-control js-e-productlist-filters-range js-e-productlist-filters-range-min" name="PriceRangeMin" id="PriceRangeMinModal" value="{{page.minPrice.clean}}" placeholder="@Translate("eCom Productlist - Filters Price Min - Text ", "From ")" min="0"> 568 </div> 569 <div class="col-4"> 570 <input type="number" class="form-control js-e-productlist-filters-range js-e-productlist-filters-range-max" name="PriceRangeMax" id="PriceRangeMaxModal" value="{{page.maxPrice.clean}}" placeholder="@Translate("eCom Productlist Filters - Price Max - Text ", "To ")" data-msg-pricerange="@Translate("eCom Productlist Filters - Price Error - Msg ", "Prices entered incorrectly ")"> 571 </div> 572 <div class="col-1"> 573 <button type="button" class="btn btn-link px-0 e-productlist-filters-clear-range js-e-productlist-filters-range-clear" data-group-id="js-e-productlist-filters-range-group-price"><i class="material-icons">clear</i></button> 574 </div> 575 <div class="col-3"> 576 <button type="button" class="btn btn-primary px-0 btn-sm btn-block e-productlist-filters-apply-range js-e-productlist-filters-apply-range"><i class="material-icons">sync</i></button> 577 </div> 578 </div> 579 </div> 580 </li> 581 </ul> 582 <div class="modal-footer"> 583 <a href="#" class="btn btn-outline-primary js-e-productlist-filters-clear-all">@Translate("eCom Productlist Filters - Reset Filter - Link", "Reset all")</a> 584 <button type="button" class="btn btn-primary" data-dismiss="modal"> 585 @Translate("eCom Productlist Filters - Apply - Button", "Apply") 586 </button> 587 </div> 588 </div> 589 </div> 590 </script> 591 </div> 592 593 }
keyboard_arrow_up