Don't miss out Virtual Happy Hour this Friday (April 26).

Try our conversational search powered by Generative AI!

Loading...
ARCHIVED This content is retired and no longer maintained. See the latest version here.

Recommended reading 

Overriding FilterCurrentMarketForVisitor

By default, when installing EPiServer.Find.Commerce, EntryContentBase types do not get hits in the Find index until all documents are reindexed. To override this functionality, follow this step.

  1. In the templates, inside the InitializationModule class, re-register all instances that implement the IFilterForVisitor interface, except for an instance of FilterCurrentMarketForVisitor.
public void ConfigureContainer(ServiceConfigurationContext context)
        {
            SetupFilterForVisitor(context);

            context.Services.Configure(c => c.For<ICurrentMarket>().Singleton().Use<MarketStorage>());
        }

        private void SetupFilterForVisitor(ServiceConfigurationContext context)
        {
            var customFilterForVisitors = context.Container.GetAllInstances<IFilterForVisitor>().Where(x => !(x is FilterCurrentMarketForVisitor));

            context.Container.EjectAllInstancesOf<IFilterForVisitor>();

            foreach (var instance in customFilterForVisitors)
            {
                context.Container.Inject(instance);
            }
        }

 

Do you find this information helpful? Please log in to provide feedback.

Last updated: May 16, 2018

Recommended reading