Skip to content

vtex-apps/product-summary

Repository files navigation

📢 Use this project, contribute to it or open issues to help evolve it using Store Discussion.

Product Summary

All Contributors

Product Summary is an app for summarizing product information (such as name, price, and image) in other store blocks, such as the Shelf and the Minicart.

image

Configurating the product summary

  1. Import the vtex.product-summary app to your theme's dependencies in the manifest.json:
  "dependencies": {
    "vtex.product-summary": "2.x"
  }

Now, you can use all blocks exported by the product-summary app. See the full list below:

Block name Description
list-context.product-list https://img.shields.io/badge/-Mandatory-red Renders the list of products in the Product Summary component. It fetches product information and provides it to the product-summary.shelf block. Then, this block provides its child blocks with the product information.
product-summary.shelf https://img.shields.io/badge/-Mandatory-red Logical block that provides the needed structure for the Product Summary component through its child blocks (listed below).
product-summary-attachment-list Renders a list for product attachments.
product-summary-brand Renders the product brand.
product-summary-buy-button Renders the Buy button. This block must only be configured if your store uses the Minicart v1. If your store uses the Minicart v2, please configure the Add to Cart button instead.
product-summary-description Renders the product description.
product-summary-image Renders the product image.
product-summary-name Renders the product name.
product-summary-sku-name Renders the selected SKU name.
product-summary-price https://img.shields.io/badge/-Deprecated-red Renders the product price. This block has been deprecated in favor of the Product Price app. Although support for this block is still available, we strongly recommend using the Product Price app.
product-summary-sku-selector Renders the SKU Selector block.
product-specification-badges Renders badges based on product specifications.
  1. Add the list-context.product-list block to a store template of your choice, and declare the product-summary.shelf in its block list. For example:
{
  "list-context.product-list": {
    "blocks": ["product-summary.shelf"]
  },

ℹ️ Although the block name 'product-summary.shelf' alludes to the Shelf component, it is not necessary to use this block in order to create a shelf component. The Product Summary Shelf displays a summary of the product information in other components, such as the Minicart and the Search Results pages.

  1. Add the blocks from the list above as children of the product-summary.shelf, considering the product information you want to display in the product list. Take the following example in which the product name, description, image, price, SKU selector, and Buy button are all displayed in the Product Summary:
{
  "list-context.product-list": {
    "blocks": ["product-summary.shelf"]
  },

  "product-summary.shelf": {
    "children": [
      "product-summary-name",
      "product-summary-description",
      "product-summary-image",
      "product-summary-price",
      "product-summary-sku-selector",
      "product-summary-buy-button"
    ]
  }
}

Customization

To apply CSS customizations to this and other blocks, follow the instructions given in the recipe on Using CSS handles for store customization.

CSS handles
aspectRatio
buyButton
buyButtonContainer
clearLink
column
container
containerNormal
containerSmall
containerInline
description
element
image
imageContainer
imagePlaceholder
information
isHidden
nameContainer
priceContainer
quantityStepperContainer
spacer

Contributors ✨

Thanks goes to these wonderful people:


gustavopvasconcellos

💻

Daniel Piva

💻

This project follows the all-contributors specification. Contributions of any kind are welcome!