The Product Summary Shelf is the main block exported by the Product Summary app. It includes the child blocks required to display the Product Summary component in your store.

Configuration
- Import the
vtex.product-summaryapp to your theme dependencies in themanifest.jsonfile:
_10 dependencies: {_10 "vtex.product-summary": "2.x"_10 }
- Add the
product-summary.shelfblock as a child of thelist-context.product-listblock:
_10 "list-context.product-list": {_10+ "blocks": ["product-summary.shelf"]_10 },
- Declare the
product-summary.shelfblock, passing the desired blocks exported by the Product Summary app to build your Product Summary component. For example:
_12{_12+ "product-summary.shelf": {_12+ "children": [_12+ "product-summary-image",_12+ "product-summary-name",_12+ "product-rating-inline",_12+ "product-summary-space",_12+ "product-summary-price",_12+ "product-summary-buy-button"_12+ ]_12+ }_12}
Remember to define the other Product Summary blocks in your theme, otherwise the component will not be displayed.
| Prop name | Type | Description | Default value |
|---|---|---|---|
priceBehavior | enum | Determines whether the component should fetch the most up-to-date price (async) or (default). Remember to configure the Search Result's simulationBehavior prop to skip and use the Product Price product-price-suspense block to render a loading spinner while the price information is being fetched. | default |
trackListName | boolean | Determines whether the component should send the list name to the product page when the product summary is clicked. Disabling it will prevent the productDetail GTM event sent on the PDP to identify from which list the user navigated. | true |
sponsoredBadgeLabel | String | The text of the "Sponsored" tag, if applicable. | "store/sponsored-badge.label" |
sponsoredBadgePosition | enum | The position of the "Sponsored" tag, if applicable. Possible values are titleTop, containerTopLeft and none. | "containerTopLeft" |
Customization
The Product Summary Shelf merely establishes the block structure to render the Product Summary component. Therefore, this block does not have CSS Handles for its specific customization.
Instead, you should use its child block Handles.