Thought this might help someone else. I looked for a way to switch off the product filter on nopCom v2.5 and couldn't find one so I made one.

I have decided to disable the product filter feature within the catalogue. The UI is not user friendly, consumes too much valuable page space and the filter logic does not suit my requirements.

BTW: Has anyone modified the filter logic to filter based on the selected filter option and above or below? For example filter products for children aged 3+ should also show products for children 4+ etc. not just 3+ I would have done this with temp tables and SQL SP but have not attempted yet it with EF.

If I can alter the DB filter logic, I may take the time to redevelop the UI with check boxes, slider controls etc.

I have run a few small tests with out any problems. When the filter is disabled the filter UI will be hidden and the 'specs' query string will be ignored.

BELOW are my source code change notes you should be able to follow. The line numbers are probably different to yours due to other changes I have made to the source.

*~~~ START add disable / enable logic for product filter on catalogue pages ~~~*


Add new setting string 'catalogsettings.productspecificationattributefilterenabled' to DB with value 'false' or 'true'

\Libraries\Nop.Core\Domain\Catalog\CatalogSettings.cs :  INSERT :

        /// <summary>
        /// LFW 27/07/2012 add disable / enable logic for product filter on catalogue pages
        /// Gets or sets a value indicating whether catalogue product filter feature is enabled
        /// </summary>
        public bool ProductSpecificationAttributeFilterEnabled { get; set; }

\Presentation\Nop.Web\Controllers\CatalogController.cs : LINES 924 + 925 APPROX.  within 'public ActionResult Category(int categoryId, CatalogPagingFilteringModel command)' method below //products comment

                       REPLACE :

            IList<int> alreadyFilteredSpecOptionIds = model.PagingFilteringContext.SpecificationFilter.GetAlreadyFilteredSpecOptionIds(_webHelper);
            IList<int> filterableSpecificationAttributeOptionIds = null;

      WITH :

      IList<int> alreadyFilteredSpecOptionIds = null;
            IList<int> filterableSpecificationAttributeOptionIds = null;

      model.PagingFilteringContext.SpecificationFilter.Enabled = _catalogSettings.ProductSpecificationAttributeFilterEnabled;
            if (model.PagingFilteringContext.SpecificationFilter.Enabled)
            {
                alreadyFilteredSpecOptionIds = model.PagingFilteringContext.SpecificationFilter.GetAlreadyFilteredSpecOptionIds(_webHelper);
            }

\Presentation\Nop.Web\Controllers\CatalogController.cs : below change above SURROUND block headed with comment '//specs' with condition

                 SO :

                //specs
                model.PagingFilteringContext.SpecificationFilter.PrepareSpecsFilters(alreadyFilteredSpecOptionIds,
                    filterableSpecificationAttributeOptionIds,
                    _specificationAttributeService, _webHelper, _workContext);

      SHOULD BE CHANGED TO :

            if (model.PagingFilteringContext.SpecificationFilter.Enabled)
            {
                //specs
                model.PagingFilteringContext.SpecificationFilter.PrepareSpecsFilters(alreadyFilteredSpecOptionIds,
                    filterableSpecificationAttributeOptionIds,
                    _specificationAttributeService, _webHelper, _workContext);
            }


*~~~ END add disable / enable logic for product filter on catalog pages ~~~*