The /atg/endeca/assembler/cartridge/manager/LocationNavigationStateBuilder
component, of class atg.endeca.assembler.navigation.ExtendedNavigationStateBuilder
, is responsible for building the navigation state object for the store locator. LocationNavigationStateBuilder
is similar to the /atg/endeca/assembler/cartridge/manager/NavigationStateBuilder
component (of the same class) that builds the navigation state object for catalog navigation.
The LocationNavigationStateBuilder
component is configured to use two filter builder components to construct record filters, /atg/endeca/assembler/cartridge/manager/filter/LocationTypeFilterBuilder
and /atg/endeca/assembler/cartridge/manager/filter/LocationSiteFilterBuilder
. These filter builders ensure that results returned by the store locator include only store locations (and not, for example, products), and that the stores are all associated with the current site (for example, CRS Home stores when the customer accesses the store locator from the CRS Home site).
The LocationTypeFilterBuilder
component, of class atg.projects.store.assembler.navigation.filter.RecordTypeFilterBuilder
, builds a record filter that ensures that only records of a certain type are returned. To specify that only store locations appear in the results, it uses the following settings:
recordTypePropertyName=store.type
recordTypePropertyValue=store
These properties specify that the filter should return only records whose store.type
property value is store
.
The LocationSiteFilterBuilder
component, of class atg.projects.store.assembler.navigation.filter.StoreSiteFilterBuilder
, builds a filter that ensures that only records associated with the current site are returned. It is configured to allow only those records whose store.siteId
property value is the current store.