Carrossel de blocos
Carrossel de blocos
Introdução
O Slider Layout, como o Flex Layout, é uma forma flexível de criar um novo bloco a partir de outros blocos usando children. Ele permite que sejam criados sliders de outros blocos, como info-cards e até mesmo flex-layouts por exemplo.
Com o Slider Layout é possível criar um carrossel não só de imagens, como de qualquer conteúdo que se queira. Para este exemplo, vamos utilizar o Slider Layout para tornar um conjunto de info-cards em um slider.
Slider Layout
Analisando a documentação, vemos que você pode utilizar qualquer array de blocos como children, assim como no Flex Layout.
Abaixo, segue um exemplo de implementação de um slider-layout com dois info-card:
"slider-layout#home": {
"children": ["info-card#1", "info-card#2"],
"props": {
"autoplay": {
"timeout": 5000,
"stopOnHover": false
}
}
},
"info-card#1": {
"props": {
"imageUrl": "https://images.unsplash.com/photo-1524185962737-ea7c028a12cd?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80",
"isFullModeStyle": true,
"headline": "Black Friday",
"callToActionText": "Subscribe",
"textPosition": "center"
}
},
"info-card#2": {
"props": {
"imageUrl": "https://images.unsplash.com/photo-1524185962737-ea7c028a12cd?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80",
"isFullModeStyle": true,
"headline": "Black Friday",
"callToActionText": "Subscribe",
"textPosition": "center"
}
}
Atividade
Nesta atividade, vamos criar um slider de marcas para o nosso site:
-
No arquivo
home.jsonc, declare o blocoslider-layout#homeao templatestore.home. -
Crie um arquivo chamado
slider-layout.jsoncdentro da pasta/store/blocks; -
Neste arquivo, baseando-se no código acima, substitua os
info-carddeclarados como children deslider-layout#homee adicione 6 componentes de imagemimagecomo children. Utilize o formatoimage#brand1,image#brand2(...)image#brand6para declarar os componentes; -
Declare uma prop
srcespecífica para cadaimage#branddefinido. Utilize as URLs abaixo para cada uma delas:https://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square1.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square2.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square3.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square4.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square5.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square6.png
-
Por fim, você deve utilizar a propriedade de
autoplayno blocoslider-layout#home. Faça com que o slide aconteça automaticamente a cada 7 segundos e que ele pare quando o usuário passar o mouse em cima doslide.
Note: Lembre-se de acessar a documentação do Slider Layout e Image caso tenha alguma dúvida durante a atividade.
Está com dúvidas?
Veja o gabarito para esta etapa ou acompanhe nosso no canal VTEX Developers(https://www.youtube.com/c/VTEXDevelopers)
Ajude-nos a fazer este conteúdo melhor!
Os cursos do VTEX IO são de código aberto. Se você perceber algum problema, pode abrir um pull request!
Faça uma contribuição
Updated 6 months ago
