The Store Image app exports the list-context.image-list
block, which is responsible for the image content in the store theme.
Configuring the store image
- Add the
store-image
app to your theme dependencies in themanifest.json
. For example:
_10 "dependencies ": {_10+ "vtex.store-image": "0.x"_10 }
You can now use the list-context.image-list
block exported by the Store Image app. This block allows you to display images in your store with more composability since you can use it along with other list-context
blocks to create a more flexible and customizable image slider.
- In any desired theme template, add the
list-context.image-list
block, declaring theslider-layout
as a child block. For example:
_30 "list-context.image-list#demo": {_30 "children": ["slider-layout#demo-images"],_30 "props": {_30 "preload": true,_30 "height": 650,_30 "images": [_30 {_30 "loading": "eager",_30 "image": "https://storecomponents.vteximg.com.br/arquivos/banner-infocard2.png",_30 "description": "something something"_30 },_30 {_30 "loading": "lazy",_30 "image": "https://storecomponents.vteximg.com.br/assets/vtex.file-manager-graphql/images/Group%207%20(1)%20(1)%20(1)%20(1)%20(1)___c6b3ed853fb16a08b265753b50e0c57a.png",_30 "description": "something something"_30 }_30 ]_30 }_30 },_30_30 "slider-layout#demo-images": {_30 "props": {_30 "itemsPerPage": {_30 "desktop": 1,_30 "tablet": 1,_30 "phone": 1_30 },_30 "infinite": true_30 }_30 },
Note that the slider-layout
block exported from the Slider Layout app is a child block of list-context.image-list
. It defines which images will be displayed and their behavior when rendered.
list-context.image-list
props
Prop name | Type | Description | Default value |
---|---|---|---|
images | array | Array of objects that declares all the images to be rendered. | undefined |
height | number | Image height for all images declared in the image object (in px ). | undefined |
preload | boolean | Preloads the first image in a list, prioritizing the image display over other assets. | false |
experimentalSetExplicitDimensions | boolean | Sets explicit width and/or height attributes for an image, if width and/or height props are provided in px . |
image-list
props
Prop name | Type | Description | Default value |
---|---|---|---|
images | array | Array of objects that declares all the images to be rendered. | undefined |
height | number | Image height for all images declared in the image object (in px ). | undefined |
experimentalPreventLayoutShift | boolean | Wraps the image in a <span> tag with a preset width and/or height to minimize layout shift during page loading. |
images
array:
Prop name | Type | Description | Default value |
---|---|---|---|
image | string | Image URL. | undefined |
mobileImage | string | Mobile image URL. | undefined |
description | string | Image description. | undefined |
link | object | Links a URL to the image being rendered. | undefined |
width | string / number | Image width (in % or px ). | 100% |
loading | string | Loading strategy, either when the page loads ('eager' ) or when closer to the viewport ('lazy' ). | 'eager' |
fetchpriority | string | The fetch priority hint ('high' , 'low' , or 'auto' ). | 'auto' |
analyticsProperties | string | Whether analytics props should be set ('provided' ) or not ('none' ). | 'none' |
promotionId | string | The ID of the promotion associated with the event. | undefined |
promotionName | string | The name of the promotion associated with the event. | undefined |
promotionPosition | string | The name of the promotional creative slot associated with the event. | undefined |
promotionProductId | string | The ID of the product associated with the event. | undefined |
promotionProductName | string | The name of the product associated with the event. | undefined |
link
object:
Prop name | Type | Description | Default value |
---|---|---|---|
url | string | URL users will be redirected to when they click the image. | undefined |
noFollow | boolean | Whether the page owner endorses the linked URL the user was navigating on, i.e., if there is a business relationship between both pages (true ) or (false ). | false |
openNewTab | string | Whether a new tab will be opened on the browser (true ) or (false ). | undefined |
title | string | Text label used to identify the image in the Admin Site Editor. | undefined |
Use the Admin Site Editor to manage all images declared in the
list-context.image-list
block.
Customization
The block does not have CSS handles for specific customization.
All CSS handles available for the Image block are available for the slider-layout
block. Take a look at the Customization section in the Slider Layout documentation. Note that the image-slider
uses our vtex.slider-layout
app, so all the CSS namespaces defined by it are also available for image-slider
. Learn more in Slider Layout.