Error compiling template "Designs/sevenseas/eCom/Productlist/espresso-product-grid.cshtml"
Line 119: 'Currency.Format(double, bool)' is obsolete: 'Use Ecommerce.Services.Currencies.Format instead'
Line 1202: The name 'excludedOptions' does not exist in the current context

1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // This code was generated by a tool. 4 // Runtime Version:4.0.30319.42000 5 // 6 // Changes to this file may cause incorrect behavior and will be lost if 7 // the code is regenerated. 8 // </auto-generated> 9 //------------------------------------------------------------------------------ 10 11 namespace CompiledRazorTemplates.Dynamic { 12 using System; 13 using System.Collections.Generic; 14 15 #line 4 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 16 using System.Linq; 17 18 #line default 19 #line hidden 20 21 #line 2 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 22 using Dynamicweb.Content.Items.Metadata; 23 24 #line default 25 #line hidden 26 27 #line 3 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 28 using Dynamicweb.Content.Items; 29 30 #line default 31 #line hidden 32 33 #line 5 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 34 using System.Web; 35 36 #line default 37 #line hidden 38 39 #line 7 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 40 using System.Globalization; 41 42 #line default 43 #line hidden 44 45 #line 8 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 46 using System.Text.RegularExpressions; 47 48 #line default 49 #line hidden 50 51 #line 9 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 52 using Dynamicweb.Ecommerce.Common; 53 54 #line default 55 #line hidden 56 57 #line 10 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 58 using Co3.Espresso.Website.Services; 59 60 #line default 61 #line hidden 62 63 64 public class RazorEngine_364c7f85c5764969b9917ad4d5e05e78 : Co3.Espresso.Website.TemplateBases.Paragraphs.Module { 65 66 #line hidden 67 68 #line 12 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 69 70 CultureInfo AreaCultureInfo = Dynamicweb.Frontend.PageView.Current().Area.CultureInfo; 71 72 public string getProductLink( string groupID, string productID, string variantID = "" ) { 73 string result = string.Empty; 74 string displayPage = Co3.Espresso.Website.Services.ProductService.Instance.GetGroupDisplayPage( groupID ); 75 if( string.IsNullOrEmpty( displayPage ) == false ) { 76 if( string.IsNullOrEmpty( variantID ) == false ) { 77 result = "{0}&ProductID={1}&variantID={2}"; 78 result = string.Format( result, displayPage, productID, variantID ); 79 } 80 else { 81 result = "{0}&ProductID={1}"; 82 result = string.Format( result, displayPage, productID ); 83 } 84 } 85 return result; 86 } 87 88 public bool isProductGroupPublishedOnWebsite( string groupID ) { 89 bool result = false; 90 string displayPage = Co3.Espresso.Website.Services.ProductService.Instance.GetGroupDisplayPage( groupID ); 91 if( string.IsNullOrEmpty( displayPage ) == false ) { 92 result = true; 93 } 94 return result; 95 } 96 97 public string getNewsLink( string categoryName, string newsID ) { 98 string result = NewsService.Instance.GetNewsDisplayPage( categoryName, newsID ); 99 string displayPage = NewsService.Instance.GetNewsDisplayPage( categoryName, newsID ); 100 if( string.IsNullOrEmpty( displayPage ) == false ) { 101 result = "/" + displayPage.Replace( "Id", "ID" ).Replace( "#", "&PID=" ) + "&M=NewsV2&Action=1&NewsID=" + newsID; 102 //result = SearchEngineFriendlyURLs.GetFriendlyUrl( result ); 103 } 104 return result; 105 } 106 107 public string getImageURL( string url, int width = 2560, int height = 0, int crop = 0, int quality = 75, string format = "jpg" ) { 108 string result = string.Empty; 109 if( string.IsNullOrEmpty( url ) == false ) { 110 result = "/admin/public/getimage.ashx?Image={0}&Width={1}&Height={2}&Format={3}&Quality={4}&Crop={5}"; 111 result = string.Format( result, url, width, height, format, quality, crop ); 112 } 113 return result; 114 } 115 116 public string getPriceFormatted( string price ) { 117 string result = string.Empty; 118 if( string.IsNullOrEmpty( price ) == true ) { 119 price = Context.Currency.Format(0.00, false); 120 } 121 if ( Context.Currency.SymbolPlace == 0 ) { 122 result = string.Format( "<span class=\"e-product-price-symbol\">{1}</span>&nbsp;<strong>{0}</strong>", price, Context.Currency.Code ); 123 } 124 else{ 125 result = string.Format( "<strong>{0}</strong>&nbsp;<span class=\"e-product-price-symbol\">{1}</span>", price, Context.Currency.Code ); 126 } 127 return result; 128 } 129 130 public string getShortDate( DateTime date ) { 131 string result = string.Empty; 132 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.ShortDatePattern ).Replace( "-" , "." ); 133 return result; 134 } 135 136 public string getLongDate( DateTime date ) { 137 string result = string.Empty; 138 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.LongDatePattern ); 139 return result; 140 } 141 142 #line default 143 #line hidden 144 145 146 public RazorEngine_364c7f85c5764969b9917ad4d5e05e78() { 147 } 148 149 public override void Execute() { 150 WriteLiteral("\r\n"); 151 152 WriteLiteral("\r\n"); 153 154 WriteLiteral("\r\n"); 155 156 157 #line 86 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 158 159 string productListClassList = "col-xs-12"; 160 string visibleFacetOptionCount = Espresso.Item.VisibleFacetsOptionsCount; 161 string productListLayout = Espresso.Item.Layout; 162 string sortBy = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortBy"]) ? Espresso.Item.SortBy : System.Web.HttpContext.Current.Request["SortBy"]; 163 string sortOrder = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortOrder"]) ? Espresso.Item.SortOrder : System.Web.HttpContext.Current.Request["SortOrder"]; 164 string pageSize = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageSize"]) ? Espresso.Item.Pagesize : System.Web.HttpContext.Current.Request["PageSize"]; 165 string pageNum = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageNum"]) ? GetString("Ecom:ProductList.CurrentPage") : System.Web.HttpContext.Current.Request["PageNum"]; 166 167 168 #line default 169 #line hidden 170 WriteLiteral("\r\n<div"); 171 172 WriteLiteral(" class=\"e-loading-overlay e-productlist-filters-preloader-overlay js-e-productlis" + 173 "t-filters-preloader-overlay is-loading\""); 174 175 WriteLiteral(">\r\n <div"); 176 177 WriteLiteral(" class=\"e-loading-spinner\""); 178 179 WriteLiteral("></div>\r\n</div>\r\n<div"); 180 181 WriteLiteral(" class=\"js-e-productlist\""); 182 183 WriteLiteral(">\r\n <div"); 184 185 WriteLiteral(" class=\"row\""); 186 187 WriteLiteral(">\r\n <div"); 188 189 WriteLiteral(" class=\"hidden-md-down col-md-4\""); 190 191 WriteLiteral(">\r\n"); 192 193 194 #line 101 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 195 196 197 #line default 198 #line hidden 199 200 #line 101 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 201 if(Espresso.Item.ShowNavigation == "True" && Espresso.Item.ShowFilters != "True"){ 202 if( string.IsNullOrEmpty(Espresso.Item.NavigationHeading) == false ){ 203 204 205 #line default 206 #line hidden 207 WriteLiteral(" <h3>"); 208 209 210 #line 103 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 211 Write(Espresso.Item.NavigationHeading); 212 213 214 #line default 215 #line hidden 216 WriteLiteral("</h3>\r\n"); 217 218 219 #line 104 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 220 } 221 222 223 #line default 224 #line hidden 225 WriteLiteral(" <ul"); 226 227 WriteLiteral(" class=\"nav e-nav-local m-b-2\""); 228 229 WriteLiteral(">\r\n"); 230 231 WriteLiteral(" "); 232 233 234 #line 106 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 235 Write(RenderNavigation( new { 236 id = "dwnav-local-" + Espresso.Id, 237 parentid = Espresso.Page.ID, 238 template = "local-vertical.xslt", 239 startlevel = 1, 240 endlevel = 99, 241 expandmode = "path", 242 } )); 243 244 245 #line default 246 #line hidden 247 WriteLiteral("\r\n </ul>\r\n"); 248 249 250 #line 115 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 251 } 252 253 254 #line default 255 #line hidden 256 WriteLiteral(" <form"); 257 258 WriteLiteral(" class=\"js-e-productlist-form\""); 259 260 WriteLiteral(">\r\n <input"); 261 262 WriteLiteral(" type=\"hidden\""); 263 264 WriteLiteral(" name=\"ID\""); 265 266 WriteAttribute("value", Tuple.Create(" value=\"", 5569), Tuple.Create("\"", 5594) 267 268 #line 117 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 269 , Tuple.Create(Tuple.Create("", 5577), Tuple.Create<System.Object, System.Int32>(Espresso.Page.ID 270 271 #line default 272 #line hidden 273 , 5577), false) 274 ); 275 276 WriteLiteral(">\r\n <input"); 277 278 WriteLiteral(" type=\"hidden\""); 279 280 WriteLiteral(" name=\"PageNum\""); 281 282 WriteAttribute("value", Tuple.Create(" value=\"", 5653), Tuple.Create("\"", 5669) 283 284 #line 118 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 285 , Tuple.Create(Tuple.Create("", 5661), Tuple.Create<System.Object, System.Int32>(pageNum 286 287 #line default 288 #line hidden 289 , 5661), false) 290 ); 291 292 WriteLiteral(">\r\n <input"); 293 294 WriteLiteral(" type=\"hidden\""); 295 296 WriteLiteral(" name=\"Sort\""); 297 298 WriteAttribute("value", Tuple.Create(" value=\"", 5725), Tuple.Create("\"", 5751) 299 300 #line 119 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 301 , Tuple.Create(Tuple.Create("", 5733), Tuple.Create<System.Object, System.Int32>(sortBy 302 303 #line default 304 #line hidden 305 , 5733), false) 306 307 #line 119 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 308 , Tuple.Create(Tuple.Create(" ", 5740), Tuple.Create<System.Object, System.Int32>(sortOrder 309 310 #line default 311 #line hidden 312 , 5741), false) 313 ); 314 315 WriteLiteral(">\r\n <input"); 316 317 WriteLiteral(" type=\"hidden\""); 318 319 WriteLiteral(" name=\"SortBy\""); 320 321 WriteAttribute("value", Tuple.Create(" value=\"", 5809), Tuple.Create("\"", 5824) 322 323 #line 120 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 324 , Tuple.Create(Tuple.Create("", 5817), Tuple.Create<System.Object, System.Int32>(sortBy 325 326 #line default 327 #line hidden 328 , 5817), false) 329 ); 330 331 WriteLiteral(">\r\n <input"); 332 333 WriteLiteral(" type=\"hidden\""); 334 335 WriteLiteral(" name=\"SortOrder\""); 336 337 WriteAttribute("value", Tuple.Create(" value=\"", 5885), Tuple.Create("\"", 5903) 338 339 #line 121 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 340 , Tuple.Create(Tuple.Create("", 5893), Tuple.Create<System.Object, System.Int32>(sortOrder 341 342 #line default 343 #line hidden 344 , 5893), false) 345 ); 346 347 WriteLiteral(">\r\n <input"); 348 349 WriteLiteral(" type=\"hidden\""); 350 351 WriteLiteral(" name=\"PageSize\""); 352 353 WriteAttribute("value", Tuple.Create(" value=\"", 5963), Tuple.Create("\"", 5980) 354 355 #line 122 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 356 , Tuple.Create(Tuple.Create("", 5971), Tuple.Create<System.Object, System.Int32>(pageSize 357 358 #line default 359 #line hidden 360 , 5971), false) 361 ); 362 363 WriteLiteral(">\r\n <input"); 364 365 WriteLiteral(" type=\"hidden\""); 366 367 WriteLiteral(" class=\"js-e-visible-options-count\""); 368 369 WriteAttribute("value", Tuple.Create(" value=\"", 6059), Tuple.Create("\"", 6091) 370 371 #line 123 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 372 , Tuple.Create(Tuple.Create("", 6067), Tuple.Create<System.Object, System.Int32>(visibleFacetOptionCount 373 374 #line default 375 #line hidden 376 , 6067), false) 377 ); 378 379 WriteLiteral(">\r\n"); 380 381 382 #line 124 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 383 384 385 #line default 386 #line hidden 387 388 #line 124 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 389 foreach(LoopItem item in GetLoop("Query.Parameters")){ 390 if(string.IsNullOrEmpty(item.GetString("Parameter.Value")) == false){ 391 392 393 #line default 394 #line hidden 395 WriteLiteral(" <input"); 396 397 WriteLiteral(" type=\"hidden\""); 398 399 WriteAttribute("name", Tuple.Create(" name=\"", 6315), Tuple.Create("\"", 6355) 400 401 #line 126 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 402 , Tuple.Create(Tuple.Create("", 6322), Tuple.Create<System.Object, System.Int32>(item.GetString("Parameter.Name") 403 404 #line default 405 #line hidden 406 , 6322), false) 407 ); 408 409 WriteAttribute("value", Tuple.Create(" value=\"", 6356), Tuple.Create("\"", 6398) 410 411 #line 126 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 412 , Tuple.Create(Tuple.Create("", 6364), Tuple.Create<System.Object, System.Int32>(item.GetString("Parameter.Value") 413 414 #line default 415 #line hidden 416 , 6364), false) 417 ); 418 419 WriteLiteral(">\r\n"); 420 421 422 #line 127 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 423 } 424 } 425 426 427 #line default 428 #line hidden 429 WriteLiteral(" "); 430 431 432 #line 129 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 433 foreach (LoopItem facetGroup in GetLoop("FacetGroups")) { 434 if(string.IsNullOrEmpty(facetGroup.GetString("FacetGroup.Name")) == false){ 435 436 437 #line default 438 #line hidden 439 WriteLiteral(" <input"); 440 441 WriteLiteral(" type=\"hidden\""); 442 443 WriteLiteral(" name=\"SelectedFacetParams\""); 444 445 WriteAttribute("value", Tuple.Create(" value=\"", 6708), Tuple.Create("\"", 6794) 446 447 #line 131 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 448 , Tuple.Create(Tuple.Create("", 6716), Tuple.Create<System.Object, System.Int32>(HttpContext.Current.Server.UrlEncode(facetGroup.GetString("FacetGroup.Name")) 449 450 #line default 451 #line hidden 452 , 6716), false) 453 ); 454 455 WriteLiteral(">\r\n"); 456 457 458 #line 132 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 459 } 460 } 461 462 463 #line default 464 #line hidden 465 WriteLiteral(" "); 466 467 468 #line 134 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 469 if(Espresso.Item.ShowFilters == "True"){ 470 productListClassList = "col-xs-12 col-lg-8"; 471 472 473 #line default 474 #line hidden 475 WriteLiteral(" <div"); 476 477 WriteLiteral(" id=\"js-e-productlist-filters\""); 478 479 WriteLiteral(">\r\n <script"); 480 481 WriteLiteral(" id=\"js-e-productlist-filters-handlebars-template\""); 482 483 WriteLiteral(" type=\"text/x-handlebars-template\""); 484 485 WriteLiteral(">\r\n <h3>"); 486 487 488 #line 138 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 489 Write(Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg")); 490 491 492 #line default 493 #line hidden 494 WriteLiteral("</h3>\r\n <ul class=\"list-group m-t-1\">\r\n <div class=\"list-group-item e-pro" + 495 "ductlist-filter-selected small p-y-1\">\r\n {{#if page.filtersAppliedCount}}" + 496 "\r\n <div class=\"e-productlist-filter-selected-header\">\r\n <h4>" + 497 ""); 498 499 500 #line 143 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 501 Write(Translate( "eCom_Productlist_FiltersSelectedText", "Valgte filtre")); 502 503 504 #line default 505 #line hidden 506 WriteLiteral("</h4>\r\n <a href=\"#\" class=\"small p-a-0 btn btn-link js-e-productlist-f" + 507 "ilter-clear-all\">"); 508 509 510 #line 144 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 511 Write(Translate( "eCom_Productlist_FiltersResetFilterLinkText", "Nulstil alle")); 512 513 514 #line default 515 #line hidden 516 WriteLiteral(@"</a> 517 </div> 518 {{#each facets}} 519 {{#if selectedOptions.length}} 520 <ul class=""e-productlist-filter-selected-items""> 521 {{#each selectedOptions}} 522 <li class=""e-productlist-filter-selected-item small""><a class=""e-productlist-filter-selected-item-remove js-e-productlist-filter-remove"" href=""#"" data-value=""{{value}}""><i class=""material-icons"">clear</i></a> {{../name}}: {{label}}</li> 523 {{/each}} 524 </ul> 525 {{/if}} 526 {{/each}} 527 {{#if page.q}} 528 <ul class=""e-productlist-filter-selected-items""> 529 <li class=""e-productlist-filter-selected-item small""><a class=""e-productlist-filter-selected-item-remove js-e-productlist-filter-search-clear"" href=""#""><i class=""material-icons"">clear</i></a> "); 530 531 532 #line 157 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 533 Write(Translate( "eCom_Productlist_FiltersSearchHeader", "Søgning:")); 534 535 536 #line default 537 #line hidden 538 WriteLiteral(@" {{page.q}}</li> 539 </ul> 540 {{/if}} 541 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 542 <ul class=""e-productlist-filter-selected-items""> 543 <li class=""e-productlist-filter-selected-item small""><a class=""e-productlist-filter-selected-item-remove js-e-productlist-filter-range-clear"" href=""#"" data-group-id=""js-e-productlist-filters-range-group-price""><i class=""material-icons"">clear</i></a> "); 544 545 546 #line 162 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 547 Write(Translate( "eCom_Productlist_FiltersPriceHeader", "Pris:")); 548 549 550 #line default 551 #line hidden 552 WriteLiteral(" {{{page.minPrice.formatted}}} - {{{page.maxPrice.formatted}}}</li>\r\n " + 553 "</ul>\r\n {{/compare}}\r\n {{else}}\r\n <p class=\"m-b-0 small" + 554 " text-muted\">"); 555 556 557 #line 166 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 558 Write(Translate("eCom_Productlist_Filters_No_Filters_Applied_Text", "Ingen filtre valgt")); 559 560 561 #line default 562 #line hidden 563 WriteLiteral("</p>\r\n {{/if}}\r\n </div>\r\n"); 564 565 566 #line 169 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 567 568 569 #line default 570 #line hidden 571 572 #line 169 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 573 if(Espresso.Item.ShowNavigation == "True"){ 574 575 576 #line default 577 #line hidden 578 WriteLiteral(" <li"); 579 580 WriteLiteral(" class=\"list-group-item e-productlist-filters-items js-e-productlist-filters-item" + 581 "s\""); 582 583 WriteLiteral(">\r\n <h4"); 584 585 WriteLiteral(" class=\"m-b-0\""); 586 587 WriteLiteral(">\r\n <a"); 588 589 WriteLiteral(" id=\"filter-header-navigation\""); 590 591 WriteLiteral(" class=\"e-productlist-filters-header\""); 592 593 WriteLiteral(" href=\"#\""); 594 595 WriteLiteral(" data-toggle=\"collapse\""); 596 597 WriteLiteral(" data-target=\"#filter-panel-navigation\""); 598 599 WriteLiteral(" aria-expanded=\"false\""); 600 601 WriteLiteral(" aria-controls=\"filter-panel-navigation\""); 602 603 WriteLiteral(">\r\n"); 604 605 606 #line 173 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 607 608 609 #line default 610 #line hidden 611 612 #line 173 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 613 if( string.IsNullOrEmpty(Espresso.Item.NavigationHeading) == false ){ 614 615 616 #line default 617 #line hidden 618 619 #line 174 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 620 Write(Espresso.Item.NavigationHeading); 621 622 623 #line default 624 #line hidden 625 626 #line 174 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 627 628 } else{ 629 630 631 #line default 632 #line hidden 633 634 #line 176 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 635 Write(Translate( "eCom_Productlist_FiltersNavigationHeader", "Kategorier")); 636 637 638 #line default 639 #line hidden 640 641 #line 176 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 642 643 } 644 645 646 #line default 647 #line hidden 648 WriteLiteral(" <i"); 649 650 WriteLiteral(" class=\"material-icons e-productlist-filters-collapse-icon\""); 651 652 WriteLiteral(">keyboard_arrow_right</i>\r\n </a>\r\n </h4>\r\n <fieldset"); 653 654 WriteLiteral(" id=\"filter-panel-navigation\""); 655 656 WriteLiteral(" class=\"e-productlist-filters-collapse form-group collapse js-e-productlist-filte" + 657 "rs-collapse m-b-0\""); 658 659 WriteLiteral(" role=\"tabpanel\""); 660 661 WriteLiteral(" aria-labelledby=\"filter-header-navigation\""); 662 663 WriteLiteral(">\r\n <ul"); 664 665 WriteLiteral(" class=\"nav e-nav-local m-t-1\""); 666 667 WriteLiteral(">\r\n"); 668 669 WriteLiteral(" "); 670 671 672 #line 183 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 673 Write(RenderNavigation( new { 674 id = "dwnav-local-" + Espresso.Id, 675 parentid = Espresso.Page.ID, 676 template = "local-vertical.xslt", 677 startlevel = 1, 678 endlevel = 99, 679 expandmode = "path", 680 } )); 681 682 683 #line default 684 #line hidden 685 WriteLiteral("\r\n </ul>\r\n </fieldset>\r\n </li>\r\n"); 686 687 688 #line 194 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 689 } 690 691 692 #line default 693 #line hidden 694 WriteLiteral(" "); 695 696 697 #line 195 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 698 if(Espresso.Item.ShowSearch == "True"){ 699 700 701 #line default 702 #line hidden 703 WriteLiteral(" <li"); 704 705 WriteLiteral(" class=\"list-group-item e-productlist-filters-items js-e-productlist-filters-item" + 706 "s\""); 707 708 WriteLiteral(">\r\n <h4"); 709 710 WriteLiteral(" class=\"m-b-0\""); 711 712 WriteLiteral(">\r\n <a"); 713 714 WriteLiteral(" id=\"filter-header-search\""); 715 716 WriteLiteral(" class=\"e-productlist-filters-header\""); 717 718 WriteLiteral(" href=\"#\""); 719 720 WriteLiteral(" data-toggle=\"collapse\""); 721 722 WriteLiteral(" data-target=\"#filter-panel-search\""); 723 724 WriteLiteral(" data-testers=\"#filter-panel-search\""); 725 726 WriteLiteral(" aria-expanded=\"{{#if page.q }}true{{else}}false{{/if}}\""); 727 728 WriteLiteral(" aria-controls=\"filter-panel-search\""); 729 730 WriteLiteral(">\r\n"); 731 732 WriteLiteral(" "); 733 734 735 #line 199 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 736 Write(Translate( "eCom_Productlist_FiltersSearchHeader", "Søgning")); 737 738 739 #line default 740 #line hidden 741 WriteLiteral("\r\n <i"); 742 743 WriteLiteral(" class=\"material-icons e-productlist-filters-collapse-icon\""); 744 745 WriteLiteral(">keyboard_arrow_right</i>\r\n </a>\r\n </h4>\r\n <fieldset"); 746 747 WriteLiteral(" id=\"filter-panel-search\""); 748 749 WriteLiteral(" class=\"e-productlist-filters-collapse form-group collapse js-e-productlist-filte" + 750 "rs-collapse {{#if page.q}}in{{/if}} m-b-0\""); 751 752 WriteLiteral(" role=\"tabpanel\""); 753 754 WriteLiteral(" aria-labelledby=\"filter-header-search\""); 755 756 WriteLiteral(">\r\n <div"); 757 758 WriteLiteral(" class=\"js-e-search-input-group e-search-input-group {{#unless page.q}}is-empty{{" + 759 "/unless}} m-t-1\""); 760 761 WriteLiteral(">\r\n <label"); 762 763 WriteLiteral(" class=\"e-search-label\""); 764 765 WriteLiteral(" for=\"filter_search\""); 766 767 WriteLiteral("><i"); 768 769 WriteLiteral(" class=\"material-icons\""); 770 771 WriteLiteral(">search</i></label>\r\n <input"); 772 773 WriteLiteral(" type=\"text\""); 774 775 WriteLiteral(" class=\"js-e-search-input e-search-input e-productlist-filters-search-input form-" + 776 "control\""); 777 778 WriteLiteral(" name=\"q\""); 779 780 WriteLiteral(" id=\"filter_search\""); 781 782 WriteLiteral(" placeholder=\"Søgning\""); 783 784 WriteLiteral(" value=\"{{page.q}}\""); 785 786 WriteLiteral(">\r\n <span"); 787 788 WriteLiteral(" class=\"js-e-search-clear e-search-clear\""); 789 790 WriteLiteral("><i"); 791 792 WriteLiteral(" class=\"material-icons\""); 793 794 WriteLiteral(">close</i></span>\r\n <button"); 795 796 WriteLiteral(" class=\"e-search-submit btn btn-primary js-e-productlist-filters-search-submit\""); 797 798 WriteLiteral(" type=\"button\""); 799 800 WriteLiteral("><i"); 801 802 WriteLiteral(" class=\"material-icons p-a-0\""); 803 804 WriteLiteral(">search</i></button>\r\n </div>\r\n </fieldset>\r\n </li>\r\n"); 805 806 807 #line 212 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 808 } 809 810 811 #line default 812 #line hidden 813 WriteLiteral(@" {{#each facets}} 814 {{#compare count '>' 0}} 815 <li class=""list-group-item e-productlist-filters-items js-e-productlist-filters-items"" role=""tablist"" aria-multiselectable=""true""> 816 <h4 class=""m-b-0""> 817 <a id=""filter-header-{{param}}"" class=""e-productlist-filters-header"" href=""#"" data-toggle=""collapse"" data-target=""#filter-panel-{{param}}"" aria-expanded=""{{#if selectedOptions.length }}true{{else}}{{#compare "); 818 819 WriteLiteral("@first \'&&\' "); 820 821 WriteLiteral(@"@root.page.hasNoInteraction}}true{{/compare}}{{/if}}"" aria-controls=""filter-panel-{{param}}""> 822 {{label}} 823 {{#if selectedOptions.length}} 824 <span class=""m-l-1"">({{selectedOptions.length}})</span> 825 {{/if}} 826 <i class=""material-icons e-productlist-filters-collapse-icon"">keyboard_arrow_right</i> 827 </a> 828 </h4> 829 <fieldset id=""filter-panel-{{param}}"" class=""e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#if selectedOptions.length }}in{{else}}{{#compare "); 830 831 WriteLiteral("@first \'&&\' "); 832 833 WriteLiteral("@root.page.hasNoInteraction}}in{{/compare}}{{/if}} {{#compare count \'>\' "); 834 835 836 #line 225 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 837 Write(visibleFacetOptionCount); 838 839 840 #line default 841 #line hidden 842 WriteLiteral(@" }}js-e-productlist-filters-collapse-peek e-productlist-filters-collapse-peek{{/compare}} m-b-0"" role=""tabpanel"" aria-labelledby=""filter-header-{{param}}""> 843 <div class=""e-productlist-filters-item m-t-1""> 844 <input class=""js-e-productlist-filter-reset-all"" name=""reset-filter-{{param}}"" id=""reset-filter-{{param}}"" type=""checkbox"" value=""true"" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 845 <label for=""reset-filter-{{param}}""> 846 "); 847 848 WriteLiteral(" "); 849 850 851 #line 229 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 852 Write(Translate( "eCom_Productlist_FiltersAllLabelText", "Alle ")); 853 854 855 #line default 856 #line hidden 857 WriteLiteral(@" 858 </label> 859 </div> 860 {{#each options}} 861 <div class=""e-productlist-filters-item js-e-productlist-filters-item {{#if isSelected}}js-e-productlist-filters-item-checked{{/if}}""> 862 <input id=""{{id}}"" name=""{{param}}"" class=""js-e-productlist-filter"" type=""checkbox"" value=""{{value}}"" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 863 <label for=""{{id}}""> 864 {{label}}<span class=""m-l-1"">({{count}})</span> 865 </label> 866 </div> 867 {{/each}} 868 {{#compare count '>' "); 869 870 871 #line 240 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 872 Write(visibleFacetOptionCount); 873 874 875 #line default 876 #line hidden 877 WriteLiteral(" }}\r\n <a href=\"#\" class=\"js-e-productlist-filters-collapse-peek-toggle" + 878 " e-productlist-filters-collapse-peek-toggle m-t-1\" data-closed-text=\""); 879 880 881 #line 241 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 882 Write(Translate("eCom_Productlist_Filters_See_More ", "Vis flere")); 883 884 885 #line default 886 #line hidden 887 WriteLiteral("\" data-open-text=\""); 888 889 890 #line 241 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 891 Write(Translate("eCom_Productlist_Filters_See_Less ", "Vis færre")); 892 893 894 #line default 895 #line hidden 896 WriteLiteral(@"""><i class=""material-icons e-productlist-filters-collapse-peek-toggle-icon"">keyboard_arrow_down</i></a> 897 {{/compare}} 898 </fieldset> 899 </li> 900 {{/compare}} 901 {{/each}} 902 <li class=""list-group-item e-productlist-filters-items js-e-productlist-filters-items""> 903 <h4 class=""m-b-0""> 904 <a id=""filter-header-pricerange"" class=""e-productlist-filters-header"" href=""#"" data-toggle=""collapse"" data-target=""#filter-panel-pricerange"" aria-expanded=""{{#compare page.minPrice.clean '||' page.maxPrice.clean}}true{{else}}false{{/compare}}"" aria-controls=""filter-panel-pricerange""> 905 "); 906 907 WriteLiteral(" "); 908 909 910 #line 250 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 911 Write(Translate( "eCom_Productlist_FiltersPriceRangeHeader", "Pris")); 912 913 914 #line default 915 #line hidden 916 WriteLiteral(@" 917 <i class=""material-icons e-productlist-filters-collapse-icon"">keyboard_arrow_right</i> 918 </a> 919 </h4> 920 <fieldset id=""filter-panel-pricerange"" class=""e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#compare page.minPrice.clean '||' page.maxPrice.clean}}in{{/compare}} m-b-0"" role=""tabpanel"" aria-labelledby=""filter-header-pricerange""> 921 <div id=""js-e-productlist-filters-range-group-price"" class=""row m-t-1 e-productlist-filters-range-group js-e-productlist-filters-range-group""> 922 <div class=""col-xs-4""> 923 <input type=""number"" class=""form-control js-e-productlist-filter-range js-e-productlist-filter-range-min"" name=""PriceRangeMin"" id=""PriceRangeMin"" value=""{{page.minPrice.clean}}"" placeholder="""); 924 925 926 #line 257 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 927 Write(Translate("eCom_Productlist_Filters_Price_Min_Text", "Fra")); 928 929 930 #line default 931 #line hidden 932 WriteLiteral(@""" min=""0""> 933 </div> 934 <div class=""col-xs-4""> 935 <input type=""number"" class=""form-control js-e-productlist-filter-range js-e-productlist-filter-range-max"" name=""PriceRangeMax"" id=""PriceRangeMax"" value=""{{page.maxPrice.clean}}"" placeholder="""); 936 937 938 #line 260 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 939 Write(Translate("eCom_Productlist_Filters_Price_Max_Text", "Til")); 940 941 942 #line default 943 #line hidden 944 WriteLiteral("\" data-msg-rangeValid=\""); 945 946 947 #line 260 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 948 Write(Translate("eCom_Productlist_Filters_Price_Error_Msg", "Priser indtastet forkert")); 949 950 951 #line default 952 #line hidden 953 WriteLiteral(@"""> 954 </div> 955 <div class=""col-xs-1""> 956 <button type=""button"" class=""btn btn-link p-x-0 e-productlist-filter-clear-range js-e-productlist-filter-range-clear"" data-group-id=""js-e-productlist-filters-range-group-price""><i class=""material-icons"">clear</i></button> 957 </div> 958 <div class=""col-xs-3""> 959 <button type=""button"" class=""btn btn-primary p-x-0 btn-sm btn-block e-productlist-filter-apply-range js-e-productlist-filter-apply-range""><i class=""material-icons"">sync</i></button> 960 </div> 961 962 </div> 963 </fieldset> 964 </li> 965 </ul> 966 </script> 967 </div> 968 "); 969 970 971 #line 275 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 972 } 973 974 975 #line default 976 #line hidden 977 WriteLiteral(" </form>\r\n </div>\r\n <div"); 978 979 WriteAttribute("class", Tuple.Create(" class=\"", 17787), Tuple.Create("\"", 17816) 980 981 #line 278 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 982 , Tuple.Create(Tuple.Create("", 17795), Tuple.Create<System.Object, System.Int32>(productListClassList 983 984 #line default 985 #line hidden 986 , 17795), false) 987 ); 988 989 WriteLiteral(">\r\n <div"); 990 991 WriteLiteral(" id=\"js-e-productlist-products\""); 992 993 WriteLiteral(" >\r\n <script"); 994 995 WriteLiteral(" type=\"application/ld+json\""); 996 997 WriteLiteral(">\r\n[\r\n"); 998 999 1000 #line 282 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1001 1002 1003 #line default 1004 #line hidden 1005 1006 #line 282 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1007 foreach ( LoopItem product in GetLoop("Products") ) { 1008 if(product.GetInteger("Ecom:Product.LoopCounter") > 1){ 1009 1010 1011 #line default 1012 #line hidden 1013 1014 #line 284 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1015 Write(Raw(",")); 1016 1017 1018 #line default 1019 #line hidden 1020 1021 #line 284 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1022 1023 } 1024 1025 1026 #line default 1027 #line hidden 1028 WriteLiteral(" "); 1029 1030 WriteLiteral("\r\n {\r\n \""); 1031 1032 WriteLiteral("@context\": \"http://schema.org/\",\r\n \""); 1033 1034 WriteLiteral("@type\": \"Product\",\r\n \"name\": \""); 1035 1036 1037 #line 290 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1038 Write(product.GetString("Ecom:Product.Name")); 1039 1040 1041 #line default 1042 #line hidden 1043 WriteLiteral("\",\r\n \"image\": \""); 1044 1045 1046 #line 291 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1047 Write(GetGlobalValue("Global:Request.Scheme")); 1048 1049 1050 #line default 1051 #line hidden 1052 WriteLiteral("://"); 1053 1054 1055 #line 291 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1056 Write(GetGlobalValue("Global:Request.Host")); 1057 1058 1059 #line default 1060 #line hidden 1061 1062 #line 291 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1063 Write(getImageURL( product.GetString("Ecom:Product.ImageLarge.Clean"), 240, 240, 5)); 1064 1065 1066 #line default 1067 #line hidden 1068 WriteLiteral("\",\r\n \"description\": \""); 1069 1070 1071 #line 292 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1072 Write(product.GetString("Ecom:Product.ShortDescription")); 1073 1074 1075 #line default 1076 #line hidden 1077 WriteLiteral("\",\r\n \"productID\": \""); 1078 1079 1080 #line 293 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1081 Write(product.GetString("Ecom:Product.ID")); 1082 1083 1084 #line default 1085 #line hidden 1086 WriteLiteral("\",\r\n \"url\": \""); 1087 1088 1089 #line 294 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1090 Write(GetGlobalValue("Global:Request.Scheme")); 1091 1092 1093 #line default 1094 #line hidden 1095 WriteLiteral("://"); 1096 1097 1098 #line 294 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1099 Write(GetGlobalValue("Global:Request.Host")); 1100 1101 1102 #line default 1103 #line hidden 1104 WriteLiteral("/"); 1105 1106 1107 #line 294 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1108 Write(getProductLink( @product.GetString("Ecom:Product.PrimaryOrFirstGroupID"), @product.GetString("Ecom:Product.ID") )); 1109 1110 1111 #line default 1112 #line hidden 1113 WriteLiteral("\"\r\n }\r\n "); 1114 1115 WriteLiteral("\r\n"); 1116 1117 1118 #line 297 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1119 } 1120 1121 1122 #line default 1123 #line hidden 1124 WriteLiteral("]\r\n</script>\r\n <script"); 1125 1126 WriteLiteral(" id=\"js-e-productlist-products-handlebars-template\""); 1127 1128 WriteLiteral(" type=\"text/x-handlebars-template\""); 1129 1130 WriteLiteral(">\r\n <div class=\"e-products\">\r\n <div class=\"row p-b-1 e-products-top\">" + 1131 "\r\n"); 1132 1133 1134 #line 303 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1135 1136 1137 #line default 1138 #line hidden 1139 1140 #line 303 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1141 if(Espresso.Item.Filters == "True"){ 1142 1143 1144 #line default 1145 #line hidden 1146 WriteLiteral(" <div"); 1147 1148 WriteLiteral(" class=\"col-xs-12 m-b-2 hidden-lg-up\""); 1149 1150 WriteLiteral(">\r\n <button"); 1151 1152 WriteLiteral(" class=\"btn btn-block btn-primary\""); 1153 1154 WriteLiteral(" type=\"button\""); 1155 1156 WriteLiteral(" data-toggle=\"modal\""); 1157 1158 WriteLiteral(" data-target=\"#js-e-productlist-filters-modal\""); 1159 1160 WriteLiteral(">"); 1161 1162 1163 #line 305 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1164 Write(Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg")); 1165 1166 1167 #line default 1168 #line hidden 1169 WriteLiteral(" ({{page.filtersAppliedCount}})</button>\r\n </div>\r\n"); 1170 1171 1172 #line 307 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1173 } 1174 1175 1176 #line default 1177 #line hidden 1178 WriteLiteral("\n string[] excludedOptions = {\"Name DESC\", \"Created ASC\", \"Created DESC\", \"Ratin" + 1179 "g ASC\", \"Number ASC\", \"Rating ASC\", \"Rating DESC\", \"Price ASC\", \"Price DESC\"};\n\n" + 1180 "\n<div class=\"col-xs-6 form-inline\">\n <label for=\"Sort\" class=\"m-b-0\">\n <stro" + 1181 "ng>"); 1182 1183 1184 #line 314 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1185 Write(Translate( "eCom_Productlist_SortLabelText", "Sorter: ")); 1186 1187 1188 #line default 1189 #line hidden 1190 WriteLiteral("</strong>\n <select name=\"Sort\" class=\"js-e-productlist-sort form-control\">\n"); 1191 1192 1193 #line 316 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1194 1195 1196 #line default 1197 #line hidden 1198 1199 #line 316 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1200 foreach( FieldOptionMetadata sortByOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "SortBy" ).Options.Values ){ 1201 foreach( FieldOptionMetadata sortOrderOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "SortOrder" ).Options.Values ){ 1202 if(excludedOptions.Any(o => o.Contains(String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value ))) == false){ 1203 1204 1205 #line default 1206 #line hidden 1207 WriteLiteral(" <option"); 1208 1209 WriteAttribute("value", Tuple.Create(" value=\"", 20247), Tuple.Create("\"", 20323) 1210 1211 #line 319 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1212 , Tuple.Create(Tuple.Create("", 20255), Tuple.Create<System.Object, System.Int32>(String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value) 1213 1214 #line default 1215 #line hidden 1216 , 20255), false) 1217 ); 1218 1219 WriteLiteral(" {{#compare sort.sort \'===\' \'"); 1220 1221 1222 #line 319 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1223 Write(String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value)); 1224 1225 1226 #line default 1227 #line hidden 1228 WriteLiteral("\'}}selected{{/compare}}>\n"); 1229 1230 WriteLiteral(" "); 1231 1232 1233 #line 320 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1234 Write(Translate(String.Format("eCom_Productlist_SortOptionLabel_{0}_{1}", sortByOption.Value, sortOrderOption.Value ), String.Format("{0} {1}", sortByOption.Name, sortOrderOption.Name))); 1235 1236 1237 #line default 1238 #line hidden 1239 WriteLiteral("\n </option>\n"); 1240 1241 1242 #line 322 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1243 } 1244 } 1245 } 1246 1247 1248 #line default 1249 #line hidden 1250 WriteLiteral(" </select>\n </label>\n</div>\n\r\n<div class=\"e-products-paging col-xs-6 small\">\r" + 1251 "\n <small>\r\n {{#if page.productCount}}\r\n <strong>{{page.viewing.from" + 1252 "}} - {{page.viewing.to}}</strong> "); 1253 1254 1255 #line 332 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1256 Write(Translate( "eCom_Productlist_ProductcountOffText", "ud af ")); 1257 1258 1259 #line default 1260 #line hidden 1261 WriteLiteral(@" 1262 {{/if}} 1263 <strong>{{page.productCount}}</strong> 1264 </small> 1265 {{#compare page.prevPage '!==' 0 }} 1266 <a href=""#"" class=""btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.prevPage}}""> 1267 <i class=""material-icons"">keyboard_arrow_left</i> 1268 <span class=""hidden-lg-down""> 1269 "); 1270 1271 WriteLiteral(" "); 1272 1273 1274 #line 340 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1275 Write(Translate( "eCom_Productlist_Pages_Prev", "Forrige")); 1276 1277 1278 #line default 1279 #line hidden 1280 WriteLiteral(@" 1281 </span> 1282 </a> 1283 {{/compare}} 1284 {{#compare page.nextPage '!==' 0 }} 1285 <a href=""#"" class=""btn btn-link p-a-0 m-x-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.nextPage}}""> 1286 <span class=""hidden-lg-down""> 1287 "); 1288 1289 WriteLiteral(" "); 1290 1291 1292 #line 347 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1293 Write(Translate( "eCom_Productlist_Pages_Next", "Næste")); 1294 1295 1296 #line default 1297 #line hidden 1298 WriteLiteral(@" 1299 </span> 1300 <i class=""material-icons"">keyboard_arrow_right</i></a> 1301 {{/compare}} 1302 {{#compare page.pageSize '!==' 999}} 1303 {{#compare page.totalPages '>' 1 }} 1304 <a href=""#"" class=""btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagesize hidden-md-down"" data-page-size=""999""> 1305 "); 1306 1307 WriteLiteral(" "); 1308 1309 1310 #line 354 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1311 Write(Translate( "eCom_Productlist_Pages_Show_All", "Vis alle")); 1312 1313 1314 #line default 1315 #line hidden 1316 WriteLiteral("\r\n </a>\r\n {{/compare}}\r\n {{/compare}}\r\n {{#compare page.p" + 1317 "ageSize \'===\' 999}}\r\n <a href=\"#\" class=\"btn btn-link p-a-0 m-l-1 js-e-pr" + 1318 "oductlist-set-pagesize hidden-md-down\" data-page-size=\""); 1319 1320 1321 #line 359 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1322 Write(Espresso.Item.Pagesize); 1323 1324 1325 #line default 1326 #line hidden 1327 WriteLiteral("\">"); 1328 1329 1330 #line 359 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1331 Write(Translate( "eCom_Productlist_Pages_Show_Fewer", "Nulstil")); 1332 1333 1334 #line default 1335 #line hidden 1336 WriteLiteral(@"</a> 1337 {{/compare}} 1338 </div> 1339 1340 1341 1342 1343 </div> 1344 <div class=""e-loading-overlay e-product-grid-loading-overlay js-e-product-grid-loading-overlay is-loading""> 1345 <div class=""e-loading-spinner""></div> 1346 </div> 1347 {{#if page.productCount}} 1348 <ul class=""e-grid""> 1349 {{#each products}} 1350 <li class="""); 1351 1352 1353 #line 373 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1354 Write(productListLayout); 1355 1356 1357 #line default 1358 #line hidden 1359 WriteLiteral(@" js-e-grid-item""> 1360 <div class=""e-product-container"" data-variant-id=""{{variantId}}""> 1361 <div class=""e-product""> 1362 <div class=""e-product-image-container""> 1363 <a class=""e-product-image-wrapper"" href=""{{url}}""> 1364 <img src=""{{imageLarge}}"" alt="""" class=""e-product-image""> 1365 </a> 1366 </div> 1367 <div class=""e-product-text-container""> 1368 <h3 class=""e-product-text m-b-0""> 1369 {{number}} <small>{{color}}</small> 1370 </h3> 1371 <p class=""e-product-name small m-b-0 m-t-0""><a href=""{{url}}"">{{name}}</a></p> 1372 {{#if descriptionShortExtra01}} 1373 <p class=""e-product-text small""> 1374 <a href=""{{url}}""> 1375 {{descriptionShortExtra01}} 1376 </a> 1377 </p> 1378 {{/if}} 1379 </div> 1380 </div> 1381 </div> 1382 </li> 1383 1384 {{/each}} 1385 </ul> 1386 {{else}} 1387 <div class=""alert alert-warning m-t-2"" role=""alert""> 1388 <strong><i class=""material-icons material-icons-2x"">sentiment_dissatisfied</i> "); 1389 1390 1391 #line 402 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1392 Write(Translate( "eCom_Productlist_No_Products_Header", "Desværre..")); 1393 1394 1395 #line default 1396 #line hidden 1397 WriteLiteral("</strong>\r\n <br> "); 1398 1399 1400 #line 403 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1401 Write(Translate( "eCom_Productlist_No_Products_Text", "Ingen produkter matcher dine valg.")); 1402 1403 1404 #line default 1405 #line hidden 1406 WriteLiteral("\r\n </div>\r\n {{/if}}\r\n <div class=\"row p-t-1 e-products-botto" + 1407 "m\">\r\n \r\n<div class=\"col-xs-6\">\r\n <small>"); 1408 1409 1410 #line 409 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1411 Write(Translate( "eCom_PriceInfoText_Public", "Alle priser er inkl. moms" )); 1412 1413 1414 #line default 1415 #line hidden 1416 WriteLiteral("</small>\r\n</div>\r\n\r\n<div class=\"e-products-paging col-xs-6 small\">\r\n <small>\r\n" + 1417 " {{#if page.productCount}}\r\n <strong>{{page.viewing.from}} - {{page.vi" + 1418 "ewing.to}}</strong> "); 1419 1420 1421 #line 415 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1422 Write(Translate( "eCom_Productlist_ProductcountOffText", "ud af ")); 1423 1424 1425 #line default 1426 #line hidden 1427 WriteLiteral(@" 1428 {{/if}} 1429 <strong>{{page.productCount}}</strong> 1430 </small> 1431 {{#compare page.prevPage '!==' 0 }} 1432 <a href=""#"" class=""btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.prevPage}}""> 1433 <i class=""material-icons"">keyboard_arrow_left</i> 1434 <span class=""hidden-lg-down""> 1435 "); 1436 1437 WriteLiteral(" "); 1438 1439 1440 #line 423 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1441 Write(Translate( "eCom_Productlist_Pages_Prev", "Forrige")); 1442 1443 1444 #line default 1445 #line hidden 1446 WriteLiteral(@" 1447 </span> 1448 </a> 1449 {{/compare}} 1450 {{#compare page.nextPage '!==' 0 }} 1451 <a href=""#"" class=""btn btn-link p-a-0 m-x-1 js-e-productlist-set-pagenum"" data-page-num=""{{page.nextPage}}""> 1452 <span class=""hidden-lg-down""> 1453 "); 1454 1455 WriteLiteral(" "); 1456 1457 1458 #line 430 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1459 Write(Translate( "eCom_Productlist_Pages_Next", "Næste")); 1460 1461 1462 #line default 1463 #line hidden 1464 WriteLiteral(@" 1465 </span> 1466 <i class=""material-icons"">keyboard_arrow_right</i></a> 1467 {{/compare}} 1468 {{#compare page.pageSize '!==' 999}} 1469 {{#compare page.totalPages '>' 1 }} 1470 <a href=""#"" class=""btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagesize hidden-md-down"" data-page-size=""999""> 1471 "); 1472 1473 WriteLiteral(" "); 1474 1475 1476 #line 437 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1477 Write(Translate( "eCom_Productlist_Pages_Show_All", "Vis alle")); 1478 1479 1480 #line default 1481 #line hidden 1482 WriteLiteral("\r\n </a>\r\n {{/compare}}\r\n {{/compare}}\r\n {{#compare page.p" + 1483 "ageSize \'===\' 999}}\r\n <a href=\"#\" class=\"btn btn-link p-a-0 m-l-1 js-e-pr" + 1484 "oductlist-set-pagesize hidden-md-down\" data-page-size=\""); 1485 1486 1487 #line 442 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1488 Write(Espresso.Item.Pagesize); 1489 1490 1491 #line default 1492 #line hidden 1493 WriteLiteral("\">"); 1494 1495 1496 #line 442 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1497 Write(Translate( "eCom_Productlist_Pages_Show_Fewer", "Nulstil")); 1498 1499 1500 #line default 1501 #line hidden 1502 WriteLiteral("</a>\r\n {{/compare}}\r\n</div>\r\n\r\n"); 1503 1504 1505 #line 446 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1506 if(Espresso.Item.Filters == "True"){ 1507 1508 1509 1510 #line default 1511 #line hidden 1512 WriteLiteral(" <div"); 1513 1514 WriteLiteral(" class=\"col-xs-12 m-t-2 hidden-lg-up\""); 1515 1516 WriteLiteral(">\r\n <button"); 1517 1518 WriteLiteral(" class=\"btn btn-block btn-primary\""); 1519 1520 WriteLiteral(" type=\"button\""); 1521 1522 WriteLiteral(" data-toggle=\"modal\""); 1523 1524 WriteLiteral(" data-target=\"#js-e-productlist-filters-modal\""); 1525 1526 WriteLiteral(">"); 1527 1528 1529 #line 449 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1530 Write(Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg")); 1531 1532 1533 #line default 1534 #line hidden 1535 WriteLiteral(" ({{page.filtersAppliedCount}})</button>\r\n </div>\r\n"); 1536 1537 1538 #line 451 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1539 1540 } 1541 1542 1543 #line default 1544 #line hidden 1545 WriteLiteral(" </div>\r\n </div>\r\n </script>\r\n </div>\r\n </" + 1546 "div>\r\n </div>\r\n</div>\r\n\r\n"); 1547 1548 1549 #line 461 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1550 if(Espresso.Item.ShowFilters == "True"){ 1551 1552 1553 #line default 1554 #line hidden 1555 WriteLiteral(" <div"); 1556 1557 WriteLiteral(" id=\"js-e-productlist-filters-modal\""); 1558 1559 WriteLiteral(" class=\"modal fade e-productlist-filters-modal js-e-productlist-filters-modal mod" + 1560 "al-fullscreen hidden-lg-up\""); 1561 1562 WriteLiteral(" data-backdrop=\"false\""); 1563 1564 WriteLiteral(">\r\n <script"); 1565 1566 WriteLiteral(" id=\"js-e-productlist-filters-modal-template\""); 1567 1568 WriteLiteral(" type=\"text/x-handlebars-template\""); 1569 1570 WriteLiteral(@"> 1571 <div class=""modal-dialog"" role=""document""> 1572 <div class=""modal-content""> 1573 <button type=""button"" class=""close"" data-dismiss=""modal""> 1574 <i class=""material-icons"">close</i> 1575 </button> 1576 <legend class=""modal-header""> 1577 "); 1578 1579 WriteLiteral(" "); 1580 1581 1582 #line 470 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1583 Write(Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg")); 1584 1585 1586 #line default 1587 #line hidden 1588 WriteLiteral("\r\n </legend>\r\n <div class=\"modal-body\">\r\n <ul class=\"list-" + 1589 "group\">\r\n <strong>"); 1590 1591 1592 #line 474 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1593 Write(Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg")); 1594 1595 1596 #line default 1597 #line hidden 1598 WriteLiteral(@"</strong> 1599 {{#each facets}} 1600 <li class=""list-group-item e-productlist-filters-items"" role=""tablist"" aria-multiselectable=""true""> 1601 <h4 class=""m-b-0""> 1602 <a id=""filter-header-{{param}}"" class=""e-productlist-filters-header"" data-toggle=""collapse"" href=""#filter-modal-panel-{{param}}"" aria-expanded=""{{#if selectedOptions.length}}true{{else}}false{{/if}}"" aria-controls=""filter-modal-panel-{{param}}""> 1603 {{label}} 1604 {{#if selectedOptions.length}} 1605 <span>({{selectedOptions.length}})</span> 1606 {{/if}} 1607 <i class=""material-icons e-productlist-filters-collapse-icon"">keyboard_arrow_right</i> 1608 </a> 1609 </h4> 1610 <div id=""filter-modal-panel-{{param}}"" class=""e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#if selectedOptions.length }}in{{/if}} m-b-0"" role=""tabpanel"" aria-labelledby=""filter-header-{{param}}""> 1611 <div class=""row m-t-2""> 1612 <div class=""col-xs-6 col-sm-4 col-md-3""> 1613 <input class=""js-e-productlist-filter-reset-all"" name=""reset-filter-{{param}}"" id=""reset-filter-{{param}}"" type=""checkbox"" value=""true"" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 1614 <label for=""reset-filter-{{param}}""> 1615 "); 1616 1617 WriteLiteral(" "); 1618 1619 1620 #line 491 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1621 Write(Translate( "eCom_Productlist_FiltersAllLabelText", "Alle ")); 1622 1623 1624 #line default 1625 #line hidden 1626 WriteLiteral(@" 1627 </label> 1628 </div> 1629 {{#each options}} 1630 <div class=""col-xs-6 col-sm-4 col-md-3""> 1631 <input type=""checkbox"" value=""{{value}}"" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 1632 <label class=""js-e-productlist-filter-label-mobile"" for=""{{id}}"">{{label}} <span class=""small"">({{count}})</span></label> 1633 </div> 1634 {{/each}} 1635 </div> 1636 </div> 1637 </li> 1638 {{/each}} 1639 <li class=""list-group-item e-productlist-filters-items"" role=""tablist"" aria-multiselectable=""true""> 1640 <h4 class=""m-b-0""> 1641 <a id=""filter-header-price"" class=""e-productlist-filters-header"" data-toggle=""collapse"" href=""#filter-modal-panel-price"" aria-expanded=""{{#compare page.minPrice.clean '||' page.maxPrice.clean}}true{{else}}false{{/compare}}"" aria-controls=""filter-modal-panel-price""> 1642 "); 1643 1644 WriteLiteral(" "); 1645 1646 1647 #line 507 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1648 Write(Translate( "eCom_Productlist_FiltersPriceRangeHeader", "Pris")); 1649 1650 1651 #line default 1652 #line hidden 1653 WriteLiteral(@" 1654 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 1655 <span>(1)</span> 1656 {{/compare}} 1657 <i class=""material-icons e-productlist-filters-collapse-icon"">keyboard_arrow_right</i> 1658 </a> 1659 </h4> 1660 <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}} m-b-0"" role=""tabpanel"" aria-labelledby=""filter-header-price""> 1661 <div class=""row m-t-1 e-productlist-filters-range-group js-e-productlist-filters-range-group""> 1662 <div class=""col-xs-4""> 1663 <input type=""number"" class=""form-control js-e-productlist-filter-range js-e-productlist-filter-range-min"" name=""PriceRangeMin"" id=""PriceRangeMinModal"" value=""{{page.minPrice.clean}}"" placeholder="""); 1664 1665 1666 #line 517 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1667 Write(Translate("eCom_Productlist_Filters_Price_Min_Text", "Fra")); 1668 1669 1670 #line default 1671 #line hidden 1672 WriteLiteral(@""" min=""0""> 1673 </div> 1674 <div class=""col-xs-4""> 1675 <input type=""number"" class=""form-control js-e-productlist-filter-range js-e-productlist-filter-range-max"" name=""PriceRangeMax"" id=""PriceRangeMaxModal"" value=""{{page.maxPrice.clean}}"" placeholder="""); 1676 1677 1678 #line 520 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1679 Write(Translate("eCom_Productlist_Filters_Price_Max_Text", "Til")); 1680 1681 1682 #line default 1683 #line hidden 1684 WriteLiteral("\" data-msg-pricerange=\""); 1685 1686 1687 #line 520 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1688 Write(Translate("eCom_Productlist_Filters_Price_Error_Msg", "Priser indtastet forkert")); 1689 1690 1691 #line default 1692 #line hidden 1693 WriteLiteral(@"""> 1694 </div> 1695 <div class=""col-xs-1""> 1696 <button type=""button"" class=""btn btn-link p-x-0 e-productlist-filter-clear-range js-e-productlist-filter-range-clear"" data-group-id=""js-e-productlist-filters-range-group-price""><i class=""material-icons"">clear</i></button> 1697 </div> 1698 <div class=""col-xs-3""> 1699 <button type=""button"" class=""btn btn-primary p-x-0 btn-sm btn-block e-productlist-filter-apply-range js-e-productlist-filter-apply-range""><i class=""material-icons"">sync</i></button> 1700 </div> 1701 1702 </div> 1703 </li> 1704 </ul> 1705 </div> 1706 <div class=""modal-footer""> 1707 <a href=""#"" class=""btn btn-secondary js-e-productlist-filter-clear-all"">"); 1708 1709 1710 #line 534 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1711 Write(Translate( "eCom_Productlist_FiltersResetFilterLinkText", "Nulstil alle filtre")); 1712 1713 1714 #line default 1715 #line hidden 1716 WriteLiteral("</a>\r\n <button type=\"button\" class=\"btn btn-primary\" data-dismiss=\"modal" + 1717 "\">\r\n"); 1718 1719 WriteLiteral(" "); 1720 1721 1722 #line 536 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1723 Write(Translate( "eCom_Productlist_FiltersApplyTextModal", "Anvend")); 1724 1725 1726 #line default 1727 #line hidden 1728 WriteLiteral("\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </script>\r\n</d" + 1729 "iv>\r\n"); 1730 1731 1732 #line 543 "D:\dynamicweb.net\Solutions\id.espresso4.dk\Files\Templates\Designs\sevenseas\eCom\Productlist\espresso-product-grid.cshtml" 1733 1734 1735 } 1736 1737 #line default 1738 #line hidden 1739 } 1740 } 1741 } 1742

1 @inherits Co3.Espresso.Website.TemplateBases.Paragraphs.Module 2 @using Dynamicweb.Content.Items.Metadata 3 @using Dynamicweb.Content.Items 4 @using System.Linq 5 @using System.Web 6 7 @using System.Globalization; 8 @using System.Text.RegularExpressions; 9 @using Dynamicweb.Ecommerce.Common; 10 @using Co3.Espresso.Website.Services; 11 12 @functions { 13 CultureInfo AreaCultureInfo = Dynamicweb.Frontend.PageView.Current().Area.CultureInfo; 14 15 public string getProductLink( string groupID, string productID, string variantID = "" ) { 16 string result = string.Empty; 17 string displayPage = Co3.Espresso.Website.Services.ProductService.Instance.GetGroupDisplayPage( groupID ); 18 if( string.IsNullOrEmpty( displayPage ) == false ) { 19 if( string.IsNullOrEmpty( variantID ) == false ) { 20 result = "{0}&ProductID={1}&variantID={2}"; 21 result = string.Format( result, displayPage, productID, variantID ); 22 } 23 else { 24 result = "{0}&ProductID={1}"; 25 result = string.Format( result, displayPage, productID ); 26 } 27 } 28 return result; 29 } 30 31 public bool isProductGroupPublishedOnWebsite( string groupID ) { 32 bool result = false; 33 string displayPage = Co3.Espresso.Website.Services.ProductService.Instance.GetGroupDisplayPage( groupID ); 34 if( string.IsNullOrEmpty( displayPage ) == false ) { 35 result = true; 36 } 37 return result; 38 } 39 40 public string getNewsLink( string categoryName, string newsID ) { 41 string result = NewsService.Instance.GetNewsDisplayPage( categoryName, newsID ); 42 string displayPage = NewsService.Instance.GetNewsDisplayPage( categoryName, newsID ); 43 if( string.IsNullOrEmpty( displayPage ) == false ) { 44 result = "/" + displayPage.Replace( "Id", "ID" ).Replace( "#", "&PID=" ) + "&M=NewsV2&Action=1&NewsID=" + newsID; 45 //result = SearchEngineFriendlyURLs.GetFriendlyUrl( result ); 46 } 47 return result; 48 } 49 50 public string getImageURL( string url, int width = 2560, int height = 0, int crop = 0, int quality = 75, string format = "jpg" ) { 51 string result = string.Empty; 52 if( string.IsNullOrEmpty( url ) == false ) { 53 result = "/admin/public/getimage.ashx?Image={0}&Width={1}&Height={2}&Format={3}&Quality={4}&Crop={5}"; 54 result = string.Format( result, url, width, height, format, quality, crop ); 55 } 56 return result; 57 } 58 59 public string getPriceFormatted( string price ) { 60 string result = string.Empty; 61 if( string.IsNullOrEmpty( price ) == true ) { 62 price = Context.Currency.Format(0.00, false); 63 } 64 if ( Context.Currency.SymbolPlace == 0 ) { 65 result = string.Format( "<span class=\"e-product-price-symbol\">{1}</span>&nbsp;<strong>{0}</strong>", price, Context.Currency.Code ); 66 } 67 else{ 68 result = string.Format( "<strong>{0}</strong>&nbsp;<span class=\"e-product-price-symbol\">{1}</span>", price, Context.Currency.Code ); 69 } 70 return result; 71 } 72 73 public string getShortDate( DateTime date ) { 74 string result = string.Empty; 75 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.ShortDatePattern ).Replace( "-" , "." ); 76 return result; 77 } 78 79 public string getLongDate( DateTime date ) { 80 string result = string.Empty; 81 result = date.Date.ToString( AreaCultureInfo.DateTimeFormat.LongDatePattern ); 82 return result; 83 } 84 } 85 86 @{ 87 string productListClassList = "col-xs-12"; 88 string visibleFacetOptionCount = Espresso.Item.VisibleFacetsOptionsCount; 89 string productListLayout = Espresso.Item.Layout; 90 string sortBy = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortBy"]) ? Espresso.Item.SortBy : System.Web.HttpContext.Current.Request["SortBy"]; 91 string sortOrder = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["SortOrder"]) ? Espresso.Item.SortOrder : System.Web.HttpContext.Current.Request["SortOrder"]; 92 string pageSize = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageSize"]) ? Espresso.Item.Pagesize : System.Web.HttpContext.Current.Request["PageSize"]; 93 string pageNum = string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["PageNum"]) ? GetString("Ecom:ProductList.CurrentPage") : System.Web.HttpContext.Current.Request["PageNum"]; 94 } 95 <div class="e-loading-overlay e-productlist-filters-preloader-overlay js-e-productlist-filters-preloader-overlay is-loading"> 96 <div class="e-loading-spinner"></div> 97 </div> 98 <div class="js-e-productlist"> 99 <div class="row"> 100 <div class="hidden-md-down col-md-4"> 101 @if(Espresso.Item.ShowNavigation == "True" && Espresso.Item.ShowFilters != "True"){ 102 if( string.IsNullOrEmpty(Espresso.Item.NavigationHeading) == false ){ 103 <h3>@Espresso.Item.NavigationHeading</h3> 104 } 105 <ul class="nav e-nav-local m-b-2"> 106 @RenderNavigation( new { 107 id = "dwnav-local-" + Espresso.Id, 108 parentid = Espresso.Page.ID, 109 template = "local-vertical.xslt", 110 startlevel = 1, 111 endlevel = 99, 112 expandmode = "path", 113 } ) 114 </ul> 115 } 116 <form class="js-e-productlist-form"> 117 <input type="hidden" name="ID" value="@Espresso.Page.ID"> 118 <input type="hidden" name="PageNum" value="@pageNum"> 119 <input type="hidden" name="Sort" value="@sortBy @sortOrder"> 120 <input type="hidden" name="SortBy" value="@sortBy"> 121 <input type="hidden" name="SortOrder" value="@sortOrder"> 122 <input type="hidden" name="PageSize" value="@pageSize"> 123 <input type="hidden" class="js-e-visible-options-count" value="@visibleFacetOptionCount"> 124 @foreach(LoopItem item in GetLoop("Query.Parameters")){ 125 if(string.IsNullOrEmpty(item.GetString("Parameter.Value")) == false){ 126 <input type="hidden" name="@item.GetString("Parameter.Name")" value="@item.GetString("Parameter.Value")"> 127 } 128 } 129 @foreach (LoopItem facetGroup in GetLoop("FacetGroups")) { 130 if(string.IsNullOrEmpty(facetGroup.GetString("FacetGroup.Name")) == false){ 131 <input type="hidden" name="SelectedFacetParams" value="@HttpContext.Current.Server.UrlEncode(facetGroup.GetString("FacetGroup.Name"))"> 132 } 133 } 134 @if(Espresso.Item.ShowFilters == "True"){ 135 productListClassList = "col-xs-12 col-lg-8"; 136 <div id="js-e-productlist-filters"> 137 <script id="js-e-productlist-filters-handlebars-template" type="text/x-handlebars-template"> 138 <h3>@Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg")</h3> 139 <ul class="list-group m-t-1"> 140 <div class="list-group-item e-productlist-filter-selected small p-y-1"> 141 {{#if page.filtersAppliedCount}} 142 <div class="e-productlist-filter-selected-header"> 143 <h4>@Translate( "eCom_Productlist_FiltersSelectedText", "Valgte filtre")</h4> 144 <a href="#" class="small p-a-0 btn btn-link js-e-productlist-filter-clear-all">@Translate( "eCom_Productlist_FiltersResetFilterLinkText", "Nulstil alle")</a> 145 </div> 146 {{#each facets}} 147 {{#if selectedOptions.length}} 148 <ul class="e-productlist-filter-selected-items"> 149 {{#each selectedOptions}} 150 <li class="e-productlist-filter-selected-item small"><a class="e-productlist-filter-selected-item-remove js-e-productlist-filter-remove" href="#" data-value="{{value}}"><i class="material-icons">clear</i></a> {{../name}}: {{label}}</li> 151 {{/each}} 152 </ul> 153 {{/if}} 154 {{/each}} 155 {{#if page.q}} 156 <ul class="e-productlist-filter-selected-items"> 157 <li class="e-productlist-filter-selected-item small"><a class="e-productlist-filter-selected-item-remove js-e-productlist-filter-search-clear" href="#"><i class="material-icons">clear</i></a> @Translate( "eCom_Productlist_FiltersSearchHeader", "Søgning:") {{page.q}}</li> 158 </ul> 159 {{/if}} 160 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 161 <ul class="e-productlist-filter-selected-items"> 162 <li class="e-productlist-filter-selected-item small"><a class="e-productlist-filter-selected-item-remove js-e-productlist-filter-range-clear" href="#" data-group-id="js-e-productlist-filters-range-group-price"><i class="material-icons">clear</i></a> @Translate( "eCom_Productlist_FiltersPriceHeader", "Pris:") {{{page.minPrice.formatted}}} - {{{page.maxPrice.formatted}}}</li> 163 </ul> 164 {{/compare}} 165 {{else}} 166 <p class="m-b-0 small text-muted">@Translate("eCom_Productlist_Filters_No_Filters_Applied_Text", "Ingen filtre valgt")</p> 167 {{/if}} 168 </div> 169 @if(Espresso.Item.ShowNavigation == "True"){ 170 <li class="list-group-item e-productlist-filters-items js-e-productlist-filters-items"> 171 <h4 class="m-b-0"> 172 <a id="filter-header-navigation" class="e-productlist-filters-header" href="#" data-toggle="collapse" data-target="#filter-panel-navigation" aria-expanded="false" aria-controls="filter-panel-navigation"> 173 @if( string.IsNullOrEmpty(Espresso.Item.NavigationHeading) == false ){ 174 @Espresso.Item.NavigationHeading 175 } else{ 176 @Translate( "eCom_Productlist_FiltersNavigationHeader", "Kategorier") 177 } 178 <i class="material-icons e-productlist-filters-collapse-icon">keyboard_arrow_right</i> 179 </a> 180 </h4> 181 <fieldset id="filter-panel-navigation" class="e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse m-b-0" role="tabpanel" aria-labelledby="filter-header-navigation"> 182 <ul class="nav e-nav-local m-t-1"> 183 @RenderNavigation( new { 184 id = "dwnav-local-" + Espresso.Id, 185 parentid = Espresso.Page.ID, 186 template = "local-vertical.xslt", 187 startlevel = 1, 188 endlevel = 99, 189 expandmode = "path", 190 } ) 191 </ul> 192 </fieldset> 193 </li> 194 } 195 @if(Espresso.Item.ShowSearch == "True"){ 196 <li class="list-group-item e-productlist-filters-items js-e-productlist-filters-items"> 197 <h4 class="m-b-0"> 198 <a id="filter-header-search" class="e-productlist-filters-header" href="#" data-toggle="collapse" data-target="#filter-panel-search" data-testers="#filter-panel-search" aria-expanded="{{#if page.q }}true{{else}}false{{/if}}" aria-controls="filter-panel-search"> 199 @Translate( "eCom_Productlist_FiltersSearchHeader", "Søgning") 200 <i class="material-icons e-productlist-filters-collapse-icon">keyboard_arrow_right</i> 201 </a> 202 </h4> 203 <fieldset id="filter-panel-search" class="e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#if page.q}}in{{/if}} m-b-0" role="tabpanel" aria-labelledby="filter-header-search"> 204 <div class="js-e-search-input-group e-search-input-group {{#unless page.q}}is-empty{{/unless}} m-t-1"> 205 <label class="e-search-label" for="filter_search"><i class="material-icons">search</i></label> 206 <input type="text" class="js-e-search-input e-search-input e-productlist-filters-search-input form-control" name="q" id="filter_search" placeholder="Søgning" value="{{page.q}}"> 207 <span class="js-e-search-clear e-search-clear"><i class="material-icons">close</i></span> 208 <button class="e-search-submit btn btn-primary js-e-productlist-filters-search-submit" type="button"><i class="material-icons p-a-0">search</i></button> 209 </div> 210 </fieldset> 211 </li> 212 } 213 {{#each facets}} 214 {{#compare count '>' 0}} 215 <li class="list-group-item e-productlist-filters-items js-e-productlist-filters-items" role="tablist" aria-multiselectable="true"> 216 <h4 class="m-b-0"> 217 <a id="filter-header-{{param}}" class="e-productlist-filters-header" href="#" data-toggle="collapse" data-target="#filter-panel-{{param}}" aria-expanded="{{#if selectedOptions.length }}true{{else}}{{#compare @@first '&&' @@root.page.hasNoInteraction}}true{{/compare}}{{/if}}" aria-controls="filter-panel-{{param}}"> 218 {{label}} 219 {{#if selectedOptions.length}} 220 <span class="m-l-1">({{selectedOptions.length}})</span> 221 {{/if}} 222 <i class="material-icons e-productlist-filters-collapse-icon">keyboard_arrow_right</i> 223 </a> 224 </h4> 225 <fieldset id="filter-panel-{{param}}" class="e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#if selectedOptions.length }}in{{else}}{{#compare @@first '&&' @@root.page.hasNoInteraction}}in{{/compare}}{{/if}} {{#compare count '>' @visibleFacetOptionCount }}js-e-productlist-filters-collapse-peek e-productlist-filters-collapse-peek{{/compare}} m-b-0" role="tabpanel" aria-labelledby="filter-header-{{param}}"> 226 <div class="e-productlist-filters-item m-t-1"> 227 <input class="js-e-productlist-filter-reset-all" name="reset-filter-{{param}}" id="reset-filter-{{param}}" type="checkbox" value="true" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 228 <label for="reset-filter-{{param}}"> 229 @Translate( "eCom_Productlist_FiltersAllLabelText", "Alle ") 230 </label> 231 </div> 232 {{#each options}} 233 <div class="e-productlist-filters-item js-e-productlist-filters-item {{#if isSelected}}js-e-productlist-filters-item-checked{{/if}}"> 234 <input id="{{id}}" name="{{param}}" class="js-e-productlist-filter" type="checkbox" value="{{value}}" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 235 <label for="{{id}}"> 236 {{label}}<span class="m-l-1">({{count}})</span> 237 </label> 238 </div> 239 {{/each}} 240 {{#compare count '>' @visibleFacetOptionCount }} 241 <a href="#" class="js-e-productlist-filters-collapse-peek-toggle e-productlist-filters-collapse-peek-toggle m-t-1" data-closed-text="@Translate("eCom_Productlist_Filters_See_More ", "Vis flere")" data-open-text="@Translate("eCom_Productlist_Filters_See_Less ", "Vis færre")"><i class="material-icons e-productlist-filters-collapse-peek-toggle-icon">keyboard_arrow_down</i></a> 242 {{/compare}} 243 </fieldset> 244 </li> 245 {{/compare}} 246 {{/each}} 247 <li class="list-group-item e-productlist-filters-items js-e-productlist-filters-items"> 248 <h4 class="m-b-0"> 249 <a id="filter-header-pricerange" class="e-productlist-filters-header" href="#" data-toggle="collapse" data-target="#filter-panel-pricerange" aria-expanded="{{#compare page.minPrice.clean '||' page.maxPrice.clean}}true{{else}}false{{/compare}}" aria-controls="filter-panel-pricerange"> 250 @Translate( "eCom_Productlist_FiltersPriceRangeHeader", "Pris") 251 <i class="material-icons e-productlist-filters-collapse-icon">keyboard_arrow_right</i> 252 </a> 253 </h4> 254 <fieldset id="filter-panel-pricerange" class="e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#compare page.minPrice.clean '||' page.maxPrice.clean}}in{{/compare}} m-b-0" role="tabpanel" aria-labelledby="filter-header-pricerange"> 255 <div id="js-e-productlist-filters-range-group-price" class="row m-t-1 e-productlist-filters-range-group js-e-productlist-filters-range-group"> 256 <div class="col-xs-4"> 257 <input type="number" class="form-control js-e-productlist-filter-range js-e-productlist-filter-range-min" name="PriceRangeMin" id="PriceRangeMin" value="{{page.minPrice.clean}}" placeholder="@Translate("eCom_Productlist_Filters_Price_Min_Text", "Fra")" min="0"> 258 </div> 259 <div class="col-xs-4"> 260 <input type="number" class="form-control js-e-productlist-filter-range js-e-productlist-filter-range-max" name="PriceRangeMax" id="PriceRangeMax" value="{{page.maxPrice.clean}}" placeholder="@Translate("eCom_Productlist_Filters_Price_Max_Text", "Til")" data-msg-rangeValid="@Translate("eCom_Productlist_Filters_Price_Error_Msg", "Priser indtastet forkert")"> 261 </div> 262 <div class="col-xs-1"> 263 <button type="button" class="btn btn-link p-x-0 e-productlist-filter-clear-range js-e-productlist-filter-range-clear" data-group-id="js-e-productlist-filters-range-group-price"><i class="material-icons">clear</i></button> 264 </div> 265 <div class="col-xs-3"> 266 <button type="button" class="btn btn-primary p-x-0 btn-sm btn-block e-productlist-filter-apply-range js-e-productlist-filter-apply-range"><i class="material-icons">sync</i></button> 267 </div> 268 269 </div> 270 </fieldset> 271 </li> 272 </ul> 273 </script> 274 </div> 275 } 276 </form> 277 </div> 278 <div class="@productListClassList"> 279 <div id="js-e-productlist-products" > 280 <script type="application/ld+json"> 281 [ 282 @foreach ( LoopItem product in GetLoop("Products") ) { 283 if(product.GetInteger("Ecom:Product.LoopCounter") > 1){ 284 @Raw(",") 285 } 286 <text> 287 { 288 "@@context": "http://schema.org/", 289 "@@type": "Product", 290 "name": "@product.GetString("Ecom:Product.Name")", 291 "image": "@GetGlobalValue("Global:Request.Scheme")://@GetGlobalValue("Global:Request.Host")@getImageURL( product.GetString("Ecom:Product.ImageLarge.Clean"), 240, 240, 5)", 292 "description": "@product.GetString("Ecom:Product.ShortDescription")", 293 "productID": "@product.GetString("Ecom:Product.ID")", 294 "url": "@GetGlobalValue("Global:Request.Scheme")://@GetGlobalValue("Global:Request.Host")/@getProductLink( @product.GetString("Ecom:Product.PrimaryOrFirstGroupID"), @product.GetString("Ecom:Product.ID") )" 295 } 296 </text> 297 } 298 ] 299 </script> 300 <script id="js-e-productlist-products-handlebars-template" type="text/x-handlebars-template"> 301 <div class="e-products"> 302 <div class="row p-b-1 e-products-top"> 303 @if(Espresso.Item.Filters == "True"){ 304 <div class="col-xs-12 m-b-2 hidden-lg-up"> 305 <button class="btn btn-block btn-primary" type="button" data-toggle="modal" data-target="#js-e-productlist-filters-modal">@Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg") ({{page.filtersAppliedCount}})</button> 306 </div> 307 } 308 309 string[] excludedOptions = {"Name DESC", "Created ASC", "Created DESC", "Rating ASC", "Number ASC", "Rating ASC", "Rating DESC", "Price ASC", "Price DESC"}; 310 311 312 <div class="col-xs-6 form-inline"> 313 <label for="Sort" class="m-b-0"> 314 <strong>@Translate( "eCom_Productlist_SortLabelText", "Sorter: ")</strong> 315 <select name="Sort" class="js-e-productlist-sort form-control"> 316 @foreach( FieldOptionMetadata sortByOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "SortBy" ).Options.Values ){ 317 foreach( FieldOptionMetadata sortOrderOption in ItemManager.Metadata.GetItemFields( "ParagraphModule_EcomProductList" ).FirstOrDefault( f => f.SystemName == "SortOrder" ).Options.Values ){ 318 if(excludedOptions.Any(o => o.Contains(String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value ))) == false){ 319 <option value="@String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value)" {{#compare sort.sort '===' '@String.Format("{0} {1}", sortByOption.Value, sortOrderOption.Value)'}}selected{{/compare}}> 320 @Translate(String.Format("eCom_Productlist_SortOptionLabel_{0}_{1}", sortByOption.Value, sortOrderOption.Value ), String.Format("{0} {1}", sortByOption.Name, sortOrderOption.Name)) 321 </option> 322 } 323 } 324 } 325 </select> 326 </label> 327 </div> 328 329 <div class="e-products-paging col-xs-6 small"> 330 <small> 331 {{#if page.productCount}} 332 <strong>{{page.viewing.from}} - {{page.viewing.to}}</strong> @Translate( "eCom_Productlist_ProductcountOffText", "ud af ") 333 {{/if}} 334 <strong>{{page.productCount}}</strong> 335 </small> 336 {{#compare page.prevPage '!==' 0 }} 337 <a href="#" class="btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagenum" data-page-num="{{page.prevPage}}"> 338 <i class="material-icons">keyboard_arrow_left</i> 339 <span class="hidden-lg-down"> 340 @Translate( "eCom_Productlist_Pages_Prev", "Forrige") 341 </span> 342 </a> 343 {{/compare}} 344 {{#compare page.nextPage '!==' 0 }} 345 <a href="#" class="btn btn-link p-a-0 m-x-1 js-e-productlist-set-pagenum" data-page-num="{{page.nextPage}}"> 346 <span class="hidden-lg-down"> 347 @Translate( "eCom_Productlist_Pages_Next", "Næste") 348 </span> 349 <i class="material-icons">keyboard_arrow_right</i></a> 350 {{/compare}} 351 {{#compare page.pageSize '!==' 999}} 352 {{#compare page.totalPages '>' 1 }} 353 <a href="#" class="btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagesize hidden-md-down" data-page-size="999"> 354 @Translate( "eCom_Productlist_Pages_Show_All", "Vis alle") 355 </a> 356 {{/compare}} 357 {{/compare}} 358 {{#compare page.pageSize '===' 999}} 359 <a href="#" class="btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagesize hidden-md-down" data-page-size="@Espresso.Item.Pagesize">@Translate( "eCom_Productlist_Pages_Show_Fewer", "Nulstil")</a> 360 {{/compare}} 361 </div> 362 363 364 365 366 </div> 367 <div class="e-loading-overlay e-product-grid-loading-overlay js-e-product-grid-loading-overlay is-loading"> 368 <div class="e-loading-spinner"></div> 369 </div> 370 {{#if page.productCount}} 371 <ul class="e-grid"> 372 {{#each products}} 373 <li class="@productListLayout js-e-grid-item"> 374 <div class="e-product-container" data-variant-id="{{variantId}}"> 375 <div class="e-product"> 376 <div class="e-product-image-container"> 377 <a class="e-product-image-wrapper" href="{{url}}"> 378 <img src="{{imageLarge}}" alt="" class="e-product-image"> 379 </a> 380 </div> 381 <div class="e-product-text-container"> 382 <h3 class="e-product-text m-b-0"> 383 {{number}} <small>{{color}}</small> 384 </h3> 385 <p class="e-product-name small m-b-0 m-t-0"><a href="{{url}}">{{name}}</a></p> 386 {{#if descriptionShortExtra01}} 387 <p class="e-product-text small"> 388 <a href="{{url}}"> 389 {{descriptionShortExtra01}} 390 </a> 391 </p> 392 {{/if}} 393 </div> 394 </div> 395 </div> 396 </li> 397 398 {{/each}} 399 </ul> 400 {{else}} 401 <div class="alert alert-warning m-t-2" role="alert"> 402 <strong><i class="material-icons material-icons-2x">sentiment_dissatisfied</i> @Translate( "eCom_Productlist_No_Products_Header", "Desværre..")</strong> 403 <br> @Translate( "eCom_Productlist_No_Products_Text", "Ingen produkter matcher dine valg.") 404 </div> 405 {{/if}} 406 <div class="row p-t-1 e-products-bottom"> 407 408 <div class="col-xs-6"> 409 <small>@Translate( "eCom_PriceInfoText_Public", "Alle priser er inkl. moms" )</small> 410 </div> 411 412 <div class="e-products-paging col-xs-6 small"> 413 <small> 414 {{#if page.productCount}} 415 <strong>{{page.viewing.from}} - {{page.viewing.to}}</strong> @Translate( "eCom_Productlist_ProductcountOffText", "ud af ") 416 {{/if}} 417 <strong>{{page.productCount}}</strong> 418 </small> 419 {{#compare page.prevPage '!==' 0 }} 420 <a href="#" class="btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagenum" data-page-num="{{page.prevPage}}"> 421 <i class="material-icons">keyboard_arrow_left</i> 422 <span class="hidden-lg-down"> 423 @Translate( "eCom_Productlist_Pages_Prev", "Forrige") 424 </span> 425 </a> 426 {{/compare}} 427 {{#compare page.nextPage '!==' 0 }} 428 <a href="#" class="btn btn-link p-a-0 m-x-1 js-e-productlist-set-pagenum" data-page-num="{{page.nextPage}}"> 429 <span class="hidden-lg-down"> 430 @Translate( "eCom_Productlist_Pages_Next", "Næste") 431 </span> 432 <i class="material-icons">keyboard_arrow_right</i></a> 433 {{/compare}} 434 {{#compare page.pageSize '!==' 999}} 435 {{#compare page.totalPages '>' 1 }} 436 <a href="#" class="btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagesize hidden-md-down" data-page-size="999"> 437 @Translate( "eCom_Productlist_Pages_Show_All", "Vis alle") 438 </a> 439 {{/compare}} 440 {{/compare}} 441 {{#compare page.pageSize '===' 999}} 442 <a href="#" class="btn btn-link p-a-0 m-l-1 js-e-productlist-set-pagesize hidden-md-down" data-page-size="@Espresso.Item.Pagesize">@Translate( "eCom_Productlist_Pages_Show_Fewer", "Nulstil")</a> 443 {{/compare}} 444 </div> 445 446 @if(Espresso.Item.Filters == "True"){ 447 448 <div class="col-xs-12 m-t-2 hidden-lg-up"> 449 <button class="btn btn-block btn-primary" type="button" data-toggle="modal" data-target="#js-e-productlist-filters-modal">@Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg") ({{page.filtersAppliedCount}})</button> 450 </div> 451 452 } 453 </div> 454 </div> 455 </script> 456 </div> 457 </div> 458 </div> 459 </div> 460 461 @if(Espresso.Item.ShowFilters == "True"){ 462 <div id="js-e-productlist-filters-modal" class="modal fade e-productlist-filters-modal js-e-productlist-filters-modal modal-fullscreen hidden-lg-up" data-backdrop="false"> 463 <script id="js-e-productlist-filters-modal-template" type="text/x-handlebars-template"> 464 <div class="modal-dialog" role="document"> 465 <div class="modal-content"> 466 <button type="button" class="close" data-dismiss="modal"> 467 <i class="material-icons">close</i> 468 </button> 469 <legend class="modal-header"> 470 @Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg") 471 </legend> 472 <div class="modal-body"> 473 <ul class="list-group"> 474 <strong>@Translate( "eCom_Productlist_FiltersHeaderText", "Tilpas udvalg")</strong> 475 {{#each facets}} 476 <li class="list-group-item e-productlist-filters-items" role="tablist" aria-multiselectable="true"> 477 <h4 class="m-b-0"> 478 <a id="filter-header-{{param}}" class="e-productlist-filters-header" data-toggle="collapse" href="#filter-modal-panel-{{param}}" aria-expanded="{{#if selectedOptions.length}}true{{else}}false{{/if}}" aria-controls="filter-modal-panel-{{param}}"> 479 {{label}} 480 {{#if selectedOptions.length}} 481 <span>({{selectedOptions.length}})</span> 482 {{/if}} 483 <i class="material-icons e-productlist-filters-collapse-icon">keyboard_arrow_right</i> 484 </a> 485 </h4> 486 <div id="filter-modal-panel-{{param}}" class="e-productlist-filters-collapse form-group collapse js-e-productlist-filters-collapse {{#if selectedOptions.length }}in{{/if}} m-b-0" role="tabpanel" aria-labelledby="filter-header-{{param}}"> 487 <div class="row m-t-2"> 488 <div class="col-xs-6 col-sm-4 col-md-3"> 489 <input class="js-e-productlist-filter-reset-all" name="reset-filter-{{param}}" id="reset-filter-{{param}}" type="checkbox" value="true" {{#compare isCleared '||' isEmpty}}checked{{/compare}}> 490 <label for="reset-filter-{{param}}"> 491 @Translate( "eCom_Productlist_FiltersAllLabelText", "Alle ") 492 </label> 493 </div> 494 {{#each options}} 495 <div class="col-xs-6 col-sm-4 col-md-3"> 496 <input type="checkbox" value="{{value}}" {{#if isSelected}}checked{{/if}} {{#if isDisabled}}disabled{{/if}}> 497 <label class="js-e-productlist-filter-label-mobile" for="{{id}}">{{label}} <span class="small">({{count}})</span></label> 498 </div> 499 {{/each}} 500 </div> 501 </div> 502 </li> 503 {{/each}} 504 <li class="list-group-item e-productlist-filters-items" role="tablist" aria-multiselectable="true"> 505 <h4 class="m-b-0"> 506 <a id="filter-header-price" class="e-productlist-filters-header" data-toggle="collapse" href="#filter-modal-panel-price" aria-expanded="{{#compare page.minPrice.clean '||' page.maxPrice.clean}}true{{else}}false{{/compare}}" aria-controls="filter-modal-panel-price"> 507 @Translate( "eCom_Productlist_FiltersPriceRangeHeader", "Pris") 508 {{#compare page.minPrice.clean '&&' page.maxPrice.clean}} 509 <span>(1)</span> 510 {{/compare}} 511 <i class="material-icons e-productlist-filters-collapse-icon">keyboard_arrow_right</i> 512 </a> 513 </h4> 514 <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}} m-b-0" role="tabpanel" aria-labelledby="filter-header-price"> 515 <div class="row m-t-1 e-productlist-filters-range-group js-e-productlist-filters-range-group"> 516 <div class="col-xs-4"> 517 <input type="number" class="form-control js-e-productlist-filter-range js-e-productlist-filter-range-min" name="PriceRangeMin" id="PriceRangeMinModal" value="{{page.minPrice.clean}}" placeholder="@Translate("eCom_Productlist_Filters_Price_Min_Text", "Fra")" min="0"> 518 </div> 519 <div class="col-xs-4"> 520 <input type="number" class="form-control js-e-productlist-filter-range js-e-productlist-filter-range-max" name="PriceRangeMax" id="PriceRangeMaxModal" value="{{page.maxPrice.clean}}" placeholder="@Translate("eCom_Productlist_Filters_Price_Max_Text", "Til")" data-msg-pricerange="@Translate("eCom_Productlist_Filters_Price_Error_Msg", "Priser indtastet forkert")"> 521 </div> 522 <div class="col-xs-1"> 523 <button type="button" class="btn btn-link p-x-0 e-productlist-filter-clear-range js-e-productlist-filter-range-clear" data-group-id="js-e-productlist-filters-range-group-price"><i class="material-icons">clear</i></button> 524 </div> 525 <div class="col-xs-3"> 526 <button type="button" class="btn btn-primary p-x-0 btn-sm btn-block e-productlist-filter-apply-range js-e-productlist-filter-apply-range"><i class="material-icons">sync</i></button> 527 </div> 528 529 </div> 530 </li> 531 </ul> 532 </div> 533 <div class="modal-footer"> 534 <a href="#" class="btn btn-secondary js-e-productlist-filter-clear-all">@Translate( "eCom_Productlist_FiltersResetFilterLinkText", "Nulstil alle filtre")</a> 535 <button type="button" class="btn btn-primary" data-dismiss="modal"> 536 @Translate( "eCom_Productlist_FiltersApplyTextModal", "Anvend") 537 </button> 538 </div> 539 </div> 540 </div> 541 </script> 542 </div> 543 544 545 }
keyboard_arrow_up