The atg.projects.store.assembler.cartridge.PriceSliderContentItem class represents the content item that the PriceSlider cartridge returns to the renderer. The PriceSliderContentItem class has these properties:

The /atg/endeca/assembler/cartridge/handler/PriceSlider component, which is of class atg.projects.store.assembler.cartridge.handler.PriceSliderHandler, is responsible for creating and populating the PriceSliderContentItem object. The PriceSliderHandler class is an extension of the com.endeca.infront.cartridge.NavigationCartridgeHandler class and it overwrites the preprocess() and process() methods.

The PriceSliderHandler.preprocess() method creates an MDEX request but does not execute it. The process() method executes the MDEX request to get the search results. It also retrieves the current com.endeca.infront.navigation.NavigationState object using the /atg/endeca/assembler/cartridge/manager/NavigationState component referenced by the PriceSliderHandler component’s navigationStateProperty. The NavigationState object contains the navigation choices that have led to the current result set, including any range filters that have been applied and the properties those range filters have been applied to. If an existing range filter has been applied to the sku.activePrice property, it is an indicator that the price slider has already been applied to the current result set and the rendering of the price slider must take into account the existing settings. To do this, the PriceSliderHandler creates a com.endeca.infront.cartridge.model.RangeFilterBreadcrumb object and populates it with data from the range filter. Specifically, the RangeFilterBreadcrumb includes:

The PriceSliderHandler then sets the PriceSliderContentItem.filterCrumb property to reference this RangeFilterBreadcrumb object, thereby making the existing slider settings available to the JSP renderer.

The PriceSliderHandler also sets the slider end points by retrieving the priceSliderMaximumValue and priceSliderMinimumValue properties for the currently searched site (or sites) from the Site repository. The priceSliderMaximumValue and priceSliderMinimumValue properties are site-specific and can be configured through the Site Administration UI. If the current results come from more than one site, the PriceSliderHandler uses the lowest priceSliderMinimumValue and the highest priceSliderMaximumValue from the sites. If no values have been set, PriceSliderHandler uses the defaults of 0 and 1500 for the minimum and maximum values, respectively.

Finally, the PriceSliderHandler evaluates the number of results returned for the query and sets the PriceSliderContentItem.enabled property to true if there is more than one result and false if there is 0 or 1 result.

The PriceSlider component has the following configurable properties:

The PriceSlider component also inherits a number of properties from the /atg/endeca/assembler/cartridge/handler/NavigationCartridgeHandler component, through a $basedOn property configuration. Specifically, PriceSlider inherits a reference to the /atg/endeca/assembler/cartridge/manager/NavigationState component that provides information on the shopper’s current navigation state.


Copyright © 1997, 2014 Oracle and/or its affiliates. All rights reserved. Legal Notices