Commerce Reference Store includes a multisite search control that allows customers to search only the current site or to search the sites that share a shopping cart with the current site. For example, on the ATG Store US site, the control looks like this:
This search control appears on virtually all Commerce Reference Store pages. It is created by the Search Box
cartridge, which is placed on the page using the /atg/endeca/assembler/droplet/InvokeAssembler
servlet bean. (This servlet bean is invoked by the <crs:pageContainer>
tag, as discussed in the Using Cartridges chapter. InvokeAssembler
enables cartridges to be included on ATG-driven pages.) The renderer for the Search Box
cartridge, store.war/cartridges/SearchBox/SearchBox.jsp
, creates the text input field and checkboxes for specifying the sites to search. The control includes a checkbox for each site that shares a shopping cart with the current site.
The SearchBox.jsp
renderer also invokes the /atg/endeca/assembler/SearchFormHandler
component, which is of class atg.projects.store.assembler.SearchFormHandler
. This form handler determines the sites to search based on which checkboxes are selected, and stores the site IDs in the /atg/endeca/assembler/SearchedSites
component. The /atg/endeca/assembler/cartridge/manager/filter/SiteFilterBuilder
component then creates a record filter to restrict the records returned to only those associated with those sites.
See the ATG-Endeca Integration Guide for more information about record filtering.