Denne side understøttes ikke optimalt i Internet Explorer. Vi anbefaler derfor, at du benytter en anden browser (fx Google Chrome, Edge, Firefox etc.)

Personal care & wiping paper | Stadsing A/S

Logo
Exception in template (Designs\StandardWebshop\eCom/Productlist/NoProductsFound.cshtml): System.NullReferenceException: Object reference not set to an instance of an object.
   at Dynamicweb.eCommerce.Products.Group.get_AllGroupsByLanguageID(String languageID)
   at Dynamicweb.eCommerce.Products.Group.get_Subgroups()
   at Dynamicweb.Frontend.NavigationProviders.GroupNavigationProvider._Closure$__20-0._Lambda$__0(GroupCollection items, Int32 thisLevel)
   at Dynamicweb.Frontend.NavigationProviders.GroupNavigationProvider._Closure$__20-0._Lambda$__0(GroupCollection items, Int32 thisLevel)
   at Dynamicweb.Frontend.NavigationProviders.GroupNavigationProvider._Closure$__20-0._Lambda$__0(GroupCollection items, Int32 thisLevel)
   at Dynamicweb.Frontend.NavigationProviders.GroupNavigationProvider._Closure$__20-0._Lambda$__0(GroupCollection items, Int32 thisLevel)
   at Dynamicweb.Frontend.NavigationProviders.GroupNavigationProvider.BuildGroupsProductCounts(GroupCollection topGroups, Int32 level, Int32 maxLevel)
   at Dynamicweb.Frontend.NavigationProviders.GroupNavigationProvider.MakeGroupTree(Page page, NavigationItem parentNode, Boolean applyStartAndEndLevelToNavigation)
   at Dynamicweb.Frontend.NavigationProviders.GroupNavigationProvider.Process(NavigationItem node, Boolean applyStartAndEndLevelToNavigation)
   at Dynamicweb.Frontend.XmlNavigation.XML(Int32 ParentID, Int32 StartLevel, Int32 StopLevel, Expand expand, Int32 areaID)
   at Dynamicweb.Frontend.XmlNavigation.GetNavigationHtml(Int32 ParentID, Int32 StartLevel, Int32 StopLevel, Expand ExpandMode, String NavigationName, String XsltPath, Int32 AreaID, Boolean SitemapMode, NameValueCollection settings, NameValueCollection attributes, IncludeMode mode)
   at Dynamicweb.Frontend.XmlNavigation.GetNavigationHtml(NameValueCollection settings, NameValueCollection attributes)
   at CompiledRazorTemplates.Dynamic.ebdacffa.Execute()
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context)
   at RazorEngine.Razor.Parse[T](String razorTemplate, T model, String cacheName)
   at Dynamicweb.Rendering.Template.Output()
@inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> @{ var Columns = "col-xs-6 col-sm-4 col-md-4"; var mode = ObjectFactory.GetInstance<TemporarilySettings>().GetAndUpdate("listmode") ?? "" + ObjectFactory.GetInstance<AreaItemSettings>().GetCurrentAreaValue<string>("ProductlistMode") + ""; var SortBy = GetString("Ecom:ProductList.SortBy"); var SortOrder = GetString("Ecom:ProductList.SortOrder"); var query = HttpContext.Current.Request["EcomQuery"]; var isFavoriteList = (System.Web.HttpContext.Current.Request["favoriteMode"] ?? string.Empty).Equals("true", StringComparison.InvariantCultureIgnoreCase); } <div class="col-xs-12 col-sm-12 col-md-3" data-content="sidebar" id="desktopSidebar"> @using System.Web @using NORRIQ.Universal.Extensions @using NORRIQ.Common8.Context @using System.Web.Mvc.Html @using Dynamicweb.NewsLetterV3 @using Newtonsoft.Json @using NORRIQ.Common8.Ecom @using NORRIQ.Common8.Factory @using StandardWebshop.CustomCode.Razor @using NORRIQ.Common8.Razor; @using Dynamicweb.eCommerce.Common; @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> <div class="panel-group" id="filterTabs" role="tablist" aria-multiselectable="true"> <ul class="filter-tabs"> @if (HttpContext.Current.Request["groupid"] != null || GetGlobalValue("Global:Page.NavigationTag").Contains("ecom")) { <li class="filter-tabs-item" role="tab" id="headingSubmenu"> <a class="collapsed" role="button" data-toggle="collapse" data-parent="#filterTabs" data-target="#collapseSubmenu" aria-expanded="false" aria-controls="collapseSubmenu"> <i class="icon-hamburger" aria-hidden="true"></i> @Translate("Categories", "Categories") </a> </li> } @if (GetLoop("FacetGroups").Any()) { <li class="filter-tabs-item" role="tab" id="headingFilter"> <a class="collapsed" role="button" data-toggle="collapse" data-parent="#filterTabs" data-target="#collapseFilter" aria-expanded="false" aria-controls="collapseFilter"> @*<i class="icon-filter" aria-hidden="true"></i>*@ <i class="pe-is-i-sliders-circle"></i> @Translate("Filter", "Filter") </a> </li> } </ul> <div class="clearfix"></div> @if (HttpContext.Current.Request["groupid"] != null || GetGlobalValue("Global:Page.NavigationTag").Contains("ecom")) { <div class="panel"> <div id="collapseSubmenu" class="filter-collapse collapse" role="tabpanel" aria-labelledby="headingSubmenu"> @if (HttpContext.Current.Request["groupid"] != null) { @RenderNavigation(new { Template = "submenu-ecom-inpath.xslt", Expandmode = "all", StartLevel = 1, EndLevel = 2 }) } else { @RenderNavigation(new { Template = "submenu-ecom.xslt", Expandmode = "all", StartLevel = 1, EndLevel = 3 }) } </div> </div> } @if (GetLoop("FacetGroups").Any()) { <div class="container filter-wrap"> <nav id="collapseFilter" class="filter-collapse collapse center_header-navigation" role="tabpanel" aria-labelledby="headingFilter"> <h2>@Translate("Filter", "Filter")</h2> <button type="button" aria-label="Close Navigation" class="btn-close" aria-controls="collapseFilter" data-toggle="collapse" data-target="#collapseFilter"> <span>&nbsp;</span> <span>&nbsp;</span> </button> </nav> </div> <div class="panel"> <div id="collapseFilterXX" class="filter-collapse collapse center_header-navigation" role="tabpanel" aria-labelledby="headingFilter"> @*<form id="filter-form" method="get" action="/Default.aspx"> <input type='hidden' name='ID' value='@Pageview.Page.ID' /> @if (HttpContext.Current.Request["ecomquery"] != null) { <input type="hidden" name="ecomquery" value="@HttpContext.Current.Request["ecomquery"]" /> } @foreach (LoopItem groups in GetLoop("FacetGroups")) { if (groups.GetLoop("Facets").Any()) { foreach (LoopItem facets in groups.GetLoop("Facets")) { if (facets.GetLoop("FacetOptions").Any()) { <div class="filter-group" id="@facets.GetString("Facet.QueryParameter")" name="@facets.GetString("Facet.QueryParameter")" data-filter-type="option"> <div class="filter-group-header"> <i class="icon-spinner icon-pulse" aria-hidden="true" style="display: none;"></i> @facets.GetString("Facet.Name") </div> <ul class="filter-group-list"> @foreach (LoopItem option in facets.GetLoop("FacetOptions")) { <li class="filter-group-item"> <div class="checkbox"> <label> <input type="checkbox" id="@facets.GetString("Facet.QueryParameter")@option.GetString("FacetOptions.LoopCounter")" name="@facets.GetString("Facet.QueryParameter")" value="@option.GetString("FacetOption.Value")" @(option.GetBoolean("FacetOption.Selected") ? " checked=\"checked\" " : "") /> @option.GetString("FacetOption.Label") (@option.GetString("FacetOption.Count")) </label> </div> </li> } </ul> </div> } } } } </form> <script append="true"> require(['jquery', 'shared/norriq.searchfilter/norriq.searchfilter'], function ($, Filter) { var filter = new Filter(); filter.init({ $filterForm: $('#filter-form'), $filterGroups: $('.filter-group, .js-select-filter'), $filterSlider: $('.filter-slider'), $selectedFilters: $('.filter-active-option') }); }); </script>*@ </div> </div> } </div> </div> <div class="col-xs-12 col-sm-12 col-md-9"> @using NORRIQ.Common8.Razor @using NORRIQ.Universal.Extensions @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> @{ var PageID = (String.IsNullOrEmpty(GetString("Ecom:ProductList:Page.ID")) ? "" : "/Default.aspx?ID=" + GetString("Ecom:ProductList:Page.ID")); var GroupID = (String.IsNullOrEmpty(GetString("Ecom:ProductList:Page.GroupID")) ? "" : "&amp;GroupID=" + GetString("Ecom:ProductList:Page.GroupID")); var pdfgroupid = System.Web.HttpContext.Current.Request.QueryString["groupid"]; var pdfgroupname = GetString("Ecom:Group.Name"); var pdfLink = ""; var pageURL = System.Web.HttpContext.Current.Request.Url.PathAndQuery.ToString().Split('&').Last(); var navigationTag = GetGlobalValue("Global:Page.NavigationTag"); var pageQuery = System.Web.HttpContext.Current.Request.Url.Query.ToString(); var originalPageQuery = pageQuery.ToString(); if (pageQuery.IndexOf("&") > -1) { pageQuery = "?" + pageQuery.Substring(pageQuery.IndexOf("&") + 1, pageQuery.Length - pageQuery.IndexOf("&") - 1); } else { pageQuery = "?"; } } @if (!String.IsNullOrEmpty(pdfgroupid)) { pdfLink = Navigation.GetUrlByNavigationTag("productlistsheet") + "?GroupID=" + pdfgroupid + "&amp;PDF=true&amp;Filename=" + pdfgroupid + ".pdf"; } else if (String.IsNullOrEmpty(pdfgroupid) && isFavoriteList && pageQuery.Contains("favoritelistid")) { pdfLink = Navigation.GetUrlByNavigationTag("favoritelist-customerprintlist") + pageQuery + "&amp;PDF=true&amp;Filename=" + Translate("Favoritliste", "Favoritliste") + ".pdf"; } else if (String.IsNullOrEmpty(pdfgroupid) && isFavoriteList && pageQuery.Contains("orderinglistid")) { pdfLink = Navigation.GetUrlByNavigationTag("orderinglist-customerprintlist") + pageQuery + "&amp;PDF=true&amp;Filename=" + Translate("Favoritliste", "Favoritliste") + ".pdf"; } else if (String.IsNullOrEmpty(pdfgroupid) && isFavoriteList) { pdfLink = Navigation.GetUrlByNavigationTag("sortiment-customerprintlist") + pageQuery + (pageQuery.IndexOf("?") > -1 ? "&amp;" : "") + "PDF=true&amp;Filename=" + Translate("Favoritliste", "Favoritliste") + ".pdf"; } else if (String.IsNullOrEmpty(pdfgroupid) && pageURL.Contains("reorder")) { pdfLink = Navigation.GetUrlByNavigationTag("customerprintlist") + "?" + "&amp;PDF=true&amp;Filename=" + Translate("Genbestillingsliste", "Genbestillingsliste") + ".pdf"; } <header class="productlist-header clearfix"> <div class="row"> <div class="@(isFavoriteList ? "col-sm-8" : "col-sm-10")"> @if (!isFavoriteList) { <h1 class="title-styled"> @if (!String.IsNullOrEmpty(GetString("Ecom:Group.Name"))) { @GetString("Ecom:Group.Name") } else { @GetGlobalValue("Global:Page.Name") } @if (!String.IsNullOrEmpty(GetString("Ecom:ProductList:Search.Query"))) { <small> (@GetString("Ecom:ProductList:Search.Query")) </small> } </h1> } </div> <div class="@(isFavoriteList ? "col-sm-4" : "col-sm-2") text-right print-links"> @if (!String.IsNullOrEmpty(pdfgroupid) || !String.IsNullOrEmpty(pageURL)) { if (isFavoriteList) { <div class="reinvoice-wrap"> @*@using NORRIQ.Common8.Factory @using StandardWebshop.CustomCode.Basket.Services @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> @{ //bool reinvoiceExceptions = false; //bool reInvoiceStatus = false; //try //{ // reInvoiceStatus = ObjectFactory.GetInstance<BasketService>().GetReInvoiceStatus(); //} //catch (Exception e) //{ // // ignored // reinvoiceExceptions = true; //} } <div id="re-invoice-container"> <div class="form-group"> <div class="checkbox"> <span style="display: none" class="js-re-invoice-loading spinner-sm-default"></span> <label for="re-invoice-enabled"> <input id="re-invoice-checkbox" type="checkbox" data-target="reinvoice-form-field" /> @Translate("Enable_reinvoicing", "Viderefakturering") <i class="pe-is-i-info-circle-f pe-lg text-primary" aria-hidden="true" title="@Translate("reinvoicing_explained", "Her har du mulighed for at vælge, at din ordre skal viderefaktureres.")"></i> </label> </div> <div style="display: none;" class="js-re-invoice-error"> <div class="alert alert-warning-light text-center" role="alert"> <span class="error"> @Translate("reinvoice_error-info", "Status på viderefakturering kan ikke vises.")<br /> <small>@Translate("reinvoice_error-hint", "Prøv evt. at genindlæse siden.")</small> </span> </div> </div> </div> </div> *@ </div> <a rel="nofollow" class="hidden-print pull-right" href="@pdfLink"> @Translate("DownloadFavlist", "Download favoritliste") <img src="/Files/Templates/Designs/StandardWebshop/css/file-pdf-solid.svg" style="width: 23px; padding-left: 3px;" /> </a> } else { <a rel="nofollow" class="hidden-print pull-right hidden-xs" href="javascript:window.print();"> <i class="fas fa-file-pdf"></i> @Translate("Print", "Print") </a> } } </div> </div> @if (!String.IsNullOrWhiteSpace(GetString("Ecom:Group.LargeImage"))) { <div class="productlist-header-image hidden-xs"> <img src="/Admin/Public/GetImage.ashx?Width=1140&amp;Height=480&amp;Compression=80&amp;[email protected](GetString("Ecom:Group.LargeImage"))" /> </div> } @if (!String.IsNullOrEmpty(GetString("Ecom:Group.Description"))) { <div class="productlist-description hidden-xs"> @GetString("Ecom:Group.Description") </div> } @if (isFavoriteList) { <div class="mBot"></div> } @* If active shows featured products before produclist @RenderSnippet("FeaturedProduct") *@ @if (GetLoop("Products").Any()) { <text>@foreach (LoopItem groups in GetLoop("FacetGroups")) { if (groups.GetLoop("Facets").Any()) { if (groups.GetLoop("Facets").Where(fo => fo.GetLoop("FacetOptions").Where(op => op.GetBoolean("FacetOption.Selected")).Any()).Any()) { <div class="facets-selected"> <div class="facets-col-center"> <span>@Translate("selected_filters", "Valgte filtre:") </span> @foreach (LoopItem selected in groups.GetLoop("Facets")) { foreach (LoopItem active in selected.GetLoop("FacetOptions")) { if (active.GetBoolean("FacetOption.Selected")) { <a href="javascript:void(0)" class="filter-active-option" data-filter-name="@selected.GetString("Facet.Name")" data-filter-type="option" data-filter-option="@selected.GetString("Facet.QueryParameter")@active.GetString("FacetOptions.LoopCounter")"> <span class="option-label">@selected.GetString("Facet.Name"):</span> @if (active.GetString("FacetOption.Label").EndsWith(".jpg")) { var maerkeUrl = "/Files/Images/Symbol/" + active.GetString("FacetOption.Label"); var maerkeAlt = active.GetString("FacetOption.Label"); maerkeAlt = maerkeAlt.Substring(0, maerkeAlt.LastIndexOf(".jpg")); @*<img src="@maerkeUrl" alt="@maerkeAlt" class="img-responsive" />*@ <span>@maerkeAlt</span> } else { <span class="option-title">@active.GetString("FacetOption.Label")</span> } <i class="pe-is-i-close-circle-f pe-va" aria-hidden="true"></i>@*was icon-close*@ </a> } } } @if (groups.GetLoop("Facets").Where(fo => fo.GetLoop("FacetOptions").Where(op => op.GetBoolean("FacetOption.Selected")).Any()).Any()) { <a class="filter-active-option filter-reset" role="button" href="javascript:void(0)" data-filter-type="reset"> <span>@Translate("Clear filter", "Nulstil filtre")</span> <i class="pe-is-bt-backspace-f pe-va pe-lg" aria-hidden="true"></i>@*was icon-close*@ </a> } </div> </div> } } }</text> <text>@using System.Web @using NORRIQ.Universal.Extensions @using NORRIQ.Common8.Context @using System.Web.Mvc.Html @using Dynamicweb.NewsLetterV3 @using Newtonsoft.Json @using NORRIQ.Common8.Ecom @using NORRIQ.Common8.Factory @using StandardWebshop.CustomCode.Razor @using NORRIQ.Common8.Razor; @using Dynamicweb.eCommerce.Common; @using StandardWebshop.CustomCode.ColorLookup @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> @{ bool facetsAnySelected = false; } @if (GetLoop("FacetGroups").Any()) { var colorLookupService = ObjectFactory.GetInstance<ColorLookupService>(); <div id="filter-container" class="productlist-filter"> <form id="filter-form" method="get" action="/Default.aspx"> <input type='hidden' name='ID' value='@Pageview.Page.ID' /> @if (!String.IsNullOrEmpty(GetString("Ecom:ProductList:Page.GroupID"))) { <input type='hidden' name='GroupID' value='@GetString("Ecom:ProductList:Page.GroupID")' /> } @if (HttpContext.Current.Request["ecomquery"] != null) { <input type="hidden" name="ecomquery" value="@HttpContext.Current.Request["ecomquery"]" /> } @foreach (LoopItem groups in GetLoop("FacetGroups")) { if (groups.GetLoop("Facets").Any()) { if (!facetsAnySelected) { facetsAnySelected = groups.GetLoop("Facets").Where(fo => fo.GetLoop("FacetOptions").Where(op => op.GetBoolean("FacetOption.Selected")).Any()).Any(); } <ul class="nav nav-pills nav-filter"> @foreach (LoopItem facets in groups.GetLoop("Facets")) { if (facets.GetLoop("FacetOptions").Any()) { var anySelected = facets.GetLoop("FacetOptions").Any(options => options.GetBoolean("FacetOption.Selected")); //DON't make this general - use brackets only if needed for each node instead. //var useBrackets = facets.GetLoop("FacetOptions").Where(o => o.GetString("FacetOption.Value").IndexOf(',') > -1).Any(); <li class="dropdown @(anySelected ? "active" : string.Empty)" id="@facets.GetString("Facet.QueryParameter")" role="presentation"> <a role="button" href="javascript:void()" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="icon-spinner icon-pulse" aria-hidden="true" style="display: none;"></i> @facets.GetString("Facet.Name") <i class="icon-angle-down" aria-hidden="true"></i> </a> <div class="dropdown-menu dropdown-keep-open filla" aria-labelledby="@facets.GetString("Facet.QueryParameter")"> <nav id="" class="filter-collapse collapse mobile-only" role="tabpanel"> <h2>@facets.GetString("Facet.Name")</h2> <div class="btn-close-filla"> <button type="button" class="btn-close" data-toggle="collapse"> <i class="pe-is-i-angle-left pe-3x" aria-hidden="true"></i> </button> </div> </nav> <div class="dropdown-inner"> @foreach (LoopItem option in facets.GetLoop("FacetOptions")) { string facetLabel = option.GetString("FacetOption.Label"); bool useBrackets = (option.GetString("FacetOption.Value").IndexOf(',') > -1); if (facets.GetString("Facet.QueryParameter") == "Farve") { string colorKey = colorLookupService.GetColorKey(option.GetString("FacetOption.Value")); <div class="checkbox-color"> <input type="checkbox" id="@facets.GetString("Facet.QueryParameter")@option.GetString("FacetOptions.LoopCounter")" name="@facets.GetString("Facet.QueryParameter")" value="@(useBrackets ? "[" + option.GetString("FacetOption.Value") + "]" : option.GetString("FacetOption.Value"))" @(option.GetBoolean("FacetOption.Selected") ? " checked=\"checked\" " : "") /> <label for="@facets.GetString("Facet.QueryParameter")@option.GetString("FacetOptions.LoopCounter")"> <span class="checkbox-color-parameter checkbox-color-@(useBrackets ? "[" + colorKey + "]" : colorKey)"></span> <span class="checkbox-color-name">@option.GetString("FacetOption.Label")</span> <span class="cnt">(@option.GetString("FacetOption.Count"))</span> </label> </div> } else { <div class="checkbox"> <label for="@facets.GetString("Facet.QueryParameter")@option.GetString("FacetOptions.LoopCounter")"> <input type="checkbox" id="@facets.GetString("Facet.QueryParameter")@option.GetString("FacetOptions.LoopCounter")" name="@facets.GetString("Facet.QueryParameter")" value="@(useBrackets ? "[" + option.GetString("FacetOption.Value") + "]" : option.GetString("FacetOption.Value"))" @(option.GetBoolean("FacetOption.Selected") ? " checked=\"checked\" " : "") /> @{ bool isImage = SpecificationHelper.IsImageFile(facetLabel); string facetLabelImageTxt = facetLabel.Split('.').FirstOrDefault(); //TODO: mso BAD implementation - should be removed later Guid tmpGuid; bool isGUID = !string.IsNullOrEmpty("facetLabelImageTxt") && Guid.TryParse(facetLabelImageTxt, out tmpGuid); } @if (isImage && isGUID) { //TODO: mso - after PIM data is structured <img src="/Admin/Public/GetImage.ashx?Width=60&amp;Height=60&amp;Compression=80&amp;Crop=5&amp;Image=/Files/Images/XPI/@facetLabel" alt="@facetLabel" class="img-responsive" /> } else if (!isGUID && isImage) { //TODO: mso BAD implementation. //This should be cleaned up in the future var maerkeUrl = "/Files/Images/Symbol/" + option.GetString("FacetOption.Label"); string maerkeAlt = facetLabel.Substring(0, facetLabel.LastIndexOf(".jpg")); <text> <img src="/Admin/Public/GetImage.ashx?Width=125&amp;Height=125&amp;Compression=80&amp;Image=@maerkeUrl" alt="@maerkeAlt" class="img-responsive miniThumb" /> @Translate("specs_" + maerkeAlt, maerkeAlt) <span class="cnt">(@option.GetString("FacetOption.Count"))</span> </text> } else { <text> @facetLabel <span class="cnt">(@option.GetString("FacetOption.Count"))</span> </text> } </label> </div> } } </div> <div class="btn-wrap"> <button class="btn btn-action btn-block btn-raised"> @Translate("Anvend", "Anvend") </button> </div> </div> </li> } } @*@if (groups.GetLoop("Facets").Where(fo => fo.GetLoop("FacetOptions").Where(op => op.GetBoolean("FacetOption.Selected")).Any()).Any()) { <li class="dropdown show-mobile" role="presentation"> <a class="dropdown-toggle filter-active-option filter-reset" role="button" href="javascript:void(0)" data-filter-type="reset"> @Translate("Clear filter", "Nulstil filtre") <i class="pe-is-bt-backspace-f pe-va pe-lg" aria-hidden="true"></i> </a> </li> }*@ </ul> } } <div class="clearfix"></div> <br/> <br/> <div class="btn-wrap mobile-only"> <button class="btn btn-action btn-block btn-raised" type="submit"> @Translate("Anvend", "Anvend") </button> </div> @if (facetsAnySelected) { <br/> <div class="btn-wrap mobile-only"> <button class="btn btn-default btn-block filter-active-option-reset" role="button" data-filter-type="reset"> @Translate("Clear filter", "Nulstil filtre") </button> </div> } </form> </div> <script append="true"> require(['jquery', 'shared/norriq.searchfilter/norriq.searchfilter'], function ($, Filter) { var filter = new Filter(); filter.init({ $filterForm: $('#filter-form'), $filterGroups: $('.filter-group, .js-select-filter'), $filterSlider: $('.filter-slider'), $selectedFilters: $('.filter-active-option, .filter-active-option-reset') }); }); </script> }</text> <div class="row"> <div class="col-xs-12"> <div class="stroked"></div> </div> <div class="col-xs-12 col-sm-6 col-sm-offset-3 text-center"> <div class="productlist-header-info"> <span class="productlist-header-quantity"> @GetString("Ecom:ProductList.PageProdCnt") @Translate("Products", "Products") </span> <span class="productlist-header-vat"> @Translate("Prices without VAT", "Prices without VAT") </span> </div> </div> <div class="col-xs-12 col-sm-3" data-align="right"> @if (isFavoriteList) { <div class="form-inline form-sort" data-float="right"> @*<label for="sortProducts"> @Translate("label_sort_products", "Sorter") </label>*@ <select class="form-control form-control-sort" id="sortProducts"> <option value="@(HttpContext.Current.Request.Url.SetQuery("SortBy", "ProductNameSort").SetQuery("SortOrder", "ASC").PathAndQuery)" @((SortOrder == "ASC" && SortBy == "productnamesort") ? "selected" : "")> @Translate("Name ascending", "Name A to Z") </option> <option value="@(HttpContext.Current.Request.Url.SetQuery("SortBy", "ProductNameSort").SetQuery("SortOrder", "DESC").PathAndQuery)" @(SortOrder == "DESC" && SortBy == "productnamesort" ? "selected" : "")> @Translate("Name descending", "Name Z to A") </option> <option value="@(HttpContext.Current.Request.Url.SetQuery("SortBy", "Varegruppe").SetQuery("SortOrder", "ASC").PathAndQuery)" @(SortOrder == "ASC" && SortBy == "varegruppe" ? "selected" : "")> @Translate("Varegruppe ascending", "Varegruppe A to Z") </option> <option value="@(HttpContext.Current.Request.Url.SetQuery("SortBy", "Varegruppe").SetQuery("SortOrder", "DESC").PathAndQuery)" @(SortOrder == "DESC" && SortBy == "varegruppe" ? "selected" : "")> @Translate("Varegruppe descending", "Varegruppe Z to A") </option> <option value="@(HttpContext.Current.Request.Url.SetQuery("SortBy", "Price").SetQuery("SortOrder", "ASC").PathAndQuery)" @(SortOrder == "ASC" && SortBy == "price" ? "selected" : "")> @Translate("Vejl. Pris ascending", "Vejl. Pris Stigende") </option> <option value="@(HttpContext.Current.Request.Url.SetQuery("SortBy", "Price").SetQuery("SortOrder", "DESC").PathAndQuery)" @(SortOrder == "DESC" && SortBy == "price" ? "selected" : "")> @Translate("Vejl. Pris descending", "Vejl. Pris Faldende") </option> </select> </div> } else { <div class="btn-group views" role="group" aria-label="Toggle view"> <a class="btn @(mode == "table" ? "btn-grid active" : "btn-grid")" href="@(HttpContext.Current.Request.Url.SetQuery("listmode", "table").PathAndQuery)"> <i class="icon-list" aria-hidden="true"></i> <span class="sr-only">@Translate("Table", "Tabel")</span> </a> <a class="btn @(mode == "grid" ? "btn-grid active" : "btn-grid")" href="@(HttpContext.Current.Request.Url.SetQuery("listmode", "grid").PathAndQuery)"> <i class="icon-grid" aria-hidden="true"></i> <span class="sr-only">@Translate("Grid", "Grid")</span> </a> </div> } </div> </div> } </header> @if (GetLoop("Subgroups").Any()) { <div class="grouplist-grid-flex"> @foreach (var group in GetLoop("Subgroups")) { <div class="@Columns" data-group-display="flex"> <div class="grouplist-grid-group" data-products="@group.GetString("Ecom:Group.ProductCount")"> <a href="@group.GetString("Ecom:Group.Link.Clean")" class="grouplist-grid-image"> <img src="/Admin/Public/[email protected]("Ecom:Group.LargeImage")&amp;Width=262&amp;Height=253&amp;Crop=0&amp;Compression=85" class="img-responsive" /> </a> <h3 class="grouplist-grid-caption"> <a href="@group.GetString("Ecom:Group.Link.Clean")"> @group.GetString("Ecom:Group.Name") </a> </h3> </div> </div> } </div> } else if (GetLoop("ProductGroups").Any()) { <div class="grouplist-grid-flex"> @foreach (var group in GetLoop("ProductGroups")) { <div class="@Columns" data-group-display="flex"> <div class="grouplist-grid-group" data-products="@group.GetString("Ecom:Group.ProductCount")"> <a href="@group.GetString("Ecom:Group.Link.Clean")" class="grouplist-grid-image"> <img src="/Admin/Public/[email protected]("Ecom:Group.LargeImage")&amp;Width=262&amp;Height=253&amp;Crop=0&amp;Compression=85" class="img-responsive" /> </a> <h3 class="grouplist-grid-caption"> <a href="@group.GetString("Ecom:Group.Link.Clean")"> @group.GetString("Ecom:Group.Name") </a> </h3> </div> </div> } </div> } else { <p role="alert"> <strong>@Translate("No products", "No products")</strong> - @Translate("the selected group is empty", "the selected group is empty!") </p> @RenderSnippet("FeaturedProduct") } </div> @if (!string.IsNullOrEmpty(query)) { <script type="text/javascript" v-pre> var results = @GetLoop("Products").Count; var postfix = results > 0 ? "ProductsFound" : "Empty"; var category = "EcomSearch - " + postfix; // Datalayer originates from GTM if (typeof variable !== 'undefined') dataLayer.push({ 'event': 'EcomSearch', 'eventCategory': category, 'eventAction': '@query', 'eventLabel': results }); </script> }
Form is not valid - Please fill required fields. Error - contact administrator.