When a search query is issued, the /atg/commerce/search/PriceListPropertyMapping component creates the property mapping dynamically, based on the user’s profile and other settings that you specify through the following properties of the component:

The PriceListPropertyMapping component constructs the propertyMapping tag and sets the value of the PriceListPropertyMapping .priceMapping property to this tag. For example, PriceListPropertyMapping might set priceMapping to:

<propertyMapping>
  price,childSKUs.price@pl90002,childSKUs.price@pl90004
</propertyMapping>

To include the propertyMapping tag in the search request, set the propertyMappings property of the /atg/commerce/search/ProductCatalogParserOptions component by linking to the value of the PriceListPropertyMapping .priceMapping property:

propertyMappings^=\
   /atg/commerce/search/PriceListPropertyMapping.priceMapping

This maps the price property in the query to the childSKUs.price@pl90002 and childSKUs.price@pl90004 properties in the index. The index properties are listed in order of precedence. When the query is executed, Oracle ATG Web Commerce Search looks for the childSKUs.price@pl90002 property for an item. If there is a property by that name, Oracle ATG Web Commerce Search uses the value of that property. If there is no childSKUs.price@pl90002 property (which means that price list pl90002 does not have a price for the item), it uses the price from the childSKUs.price@pl90004 property. So for example, if pl90002 contains sale prices and pl90004 contains list prices, Search uses the sale price if there is one, and otherwise uses the list price.


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