A Brevo oferece dois métodos para repetir um bloco de itens no seu e-mail: usando um bloco Conteúdo dinâmico no editor de e-mail de arrastar e soltar ou digitando loops manualmente.
Este artigo aborda o método manual. Se você preferir usar um bloco Conteúdo dinâmico, confira nosso artigo dedicado Entender o bloco de conteúdo dinâmico.
Use um loop for para exibir dinamicamente todos os elementos em uma matriz. Isso é especialmente útil quando o número de itens na matriz é desconhecido, como uma lista de postagens semanais de blog ou um recibo de produtos comprados.
Você pode usar um loop for com base em diferentes critérios:
-
Dados do evento
Personalizar o conteúdo com base nas ações que seus contatos realizaram (ou não). Por exemplo, você pode mostrar um bloco promocional apenas para Contatos que nunca fizeram um pedido. -
Feeds de dados
Personalize o conteúdo usando dados em tempo real dos feeds externos. Por exemplo, você pode mostrar recomendações personalizadas de produtos, preços em tempo real ou informações localizadas da loja com base em dados externos. -
Feeds de produtos
Personalize o conteúdo usando informações de produtos do seu site de comércio eletrônico. Por exemplo, você pode mostrar seus produtos mais vendidos ou recomendações personalizadas de produtos.
O que é um loop for?
Um loop for é uma estrutura de programação usada para repetir um bloco de código para cada item em uma matriz. Em vez de referenciar manualmente cada índice, o loop itera pela matriz e exibe cada item automaticamente.
Em modelos de e-mail, os loops for permitem que você exiba dinamicamente conteúdo como:
- Um recibo listando todos os itens que um cliente comprou.
- Um e-mail de lembrete mostrando os itens deixados no carrinho de um cliente.
- Uma campanha RSS exibindo os últimos artigos do blog.
- Um e-mail personalizado com recomendações de produtos atualizadas de um feed de dados externo.
Estrutura e sintaxe de um loop for
A sintaxe de um loop for pode variar com base no tipo de elemento que está sendo repetido. Em nossos exemplos, substitua placeholder, array e variable pelos dados apropriados para o elemento que você deseja repetir, conforme explicado na tabela a seguir:
| Dados do evento | Feed de dados | Feed de produtos | |
|---|---|---|---|
placeholder |
Use o nome exato do array na sua estrutura JSON, mas em seu formato singular. |
Para feed de dados, o placeholder é sempre item. | Para feed de produtos, o placeholder é sempre item. |
array |
Use |
Use
|
Use |
variable |
Use a variável de evento correspondente para exibir o elemento desejado. Para saber mais, consulte nossa seção dedicada no artigo [Manual] Personalizar suas mensagens com conteúdo dinâmico (linguagem de modelo Brevo). |
Use as variáveis de feed de dados correspondentes conforme exibidas no seu arquivo de fonte de dados externa. |
Use as variáveis de feed de produtos correspondentes conforme elas são exibidas no seu site de comércio eletrônico. |
for, in
Exibe todos os itens em uma matriz como uma lista.
| Sintaxe | |
|---|---|
{% for placeholder in array %}
|
Abra a aba correspondente ao tipo de dado que você deseja exibir:
| Exemplo de entrada | |
|---|---|
{% for item in params.items %}
|
|
| Exemplo de saída | |
|
Sapatos pretos - $ 99 Camisa branca - $ 20 Calça vermelha - $ 49 |
| Exemplo de entrada | |
|---|---|
{% for item in feed.yogaclasses.following_classes %}
|
|
| Exemplo de saída | |
|
Power Flow Yoga - 07/03/2025 às 09:00 Restaurador Noturno - 07/03/2025 às 19:00 Noções básicas de Hatha Yoga - 08/03/2025 às 10h30 |
| Exemplo de entrada | |
|---|---|
{% for item in feed.mats_bestseller.products %}
|
|
| Exemplo de saída | |
|
Sapatos pretos - $ 99 Camisa branca - $ 20 Calça vermelha - $ 49 |
else
Exibe um bloco de substituição se uma matriz estiver vazia.
| Sintaxe |
|---|
{% for placeholder in array %} |
| Exemplo de entrada |
{% for user in params.users %} |
| Exemplo de saída |
|
Nenhum usuário encontrado |
limit
Limita o loop ao número especificado de iterações.
| Sintaxe |
|---|
{% for placeholder in array limit:# %}
|
| Exemplo de entrada |
{% for item in params.items limit:2 %}
|
| Exemplo de saída |
|
Produto a Produto b |
reversed
Inverte a ordem de impressão dos itens no seu array.
| Sintaxe |
|---|
{% for placeholder in array reversed %}
|
| Exemplo de entrada |
{% for country in params.countries reversed %}
|
| Exemplo de saída |
|
Zimbábue Suécia México Alemanha Argentina |
Counter
Define um inteiro que representa a contagem de iterações do loop, começando em 1. Isso é útil para numerar itens em um loop, por exemplo.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for product in params.products %}
|
| Exemplo de saída |
|
1. Produto a 2. Produto b 3. Produto c |
Counter0
Define um inteiro que representa a contagem de iterações do loop, começando em 0.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for product in params.products %}
|
| Exemplo de saída |
|
0. Produto a 1. Produto b 2. Produto c |
Revcounter
Define um inteiro que representa o número de itens restantes no loop. Começa com o número total de itens e diminui para 1 na iteração final.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for product in params.products %}
|
| Exemplo de saída |
|
5. Produto e 4. Produto d 3. Produto c 2. Produto b 1. Produto a |
Revcounter0
Define um inteiro que representa o número de itens restantes no loop. Começa com o número total de itens e diminui para 0 na iteração final.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for product in params.products %}
|
| Exemplo de saída |
|
4. Produto e 3. Produto d 2. Produto c 1. Produto b 0. Produto a |
if
Exibe uma lista de itens com base em condições específicas.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for product in params.products %}
|
| Exemplo de saída |
|
Produto a - $ 89 Produto c - $ 105 Produto e - $ 54 |
➡️ Para saber mais sobre instruções if, confira nosso artigo dedicado [Manual] Mostrar ou ocultar conteúdo em seu e-mail usando instruções if.
forloop.First
Um booleano definido como True na primeira iteração do loop. Isso é útil para manipular o primeiro item de forma diferente, como aplicar o filtro "superior" apenas ao primeiro produto de uma lista.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for product in params.products %}
|
| Exemplo de saída |
|
1. PRIMEIRO PRODUTO 2. Segundo produto 3. Terceiro produto |
forloop.Last
Um booleano definido como True na última iteração do loop. Isso é útil para lidar com o item final de forma diferente, como omitir uma vírgula final em uma lista.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for product in params.products %}
|
| Exemplo de saída |
|
Produto a, Produto b, Produto c |
forloop.Parentloop
Refere-se ao objeto forloop do loop pai em loops aninhados.
| Sintaxe |
|---|
{% for placeholder in array %}
|
| Exemplo de entrada |
{% for country in countries %}
|
| Exemplo de saída |
|
Country #1: EUA City #1: Nova York City #2: Los Angeles City #3: Chicago Country #2: Alemanha City #1: Berlim City #2: Munique City #3: Hamburgo |
⏭️ O que vem a seguir?
- [Manual] Personalizar suas mensagens com conteúdo dinâmico (linguagem de modelo Brevo)
- [Manual] Mostrar ou ocultar conteúdo em seu e-mail usando instruções if
- Modificar a saída de uma variável usando filtro
🤔 Dúvidas?
Em caso de dúvida, sinta-se à vontade para entrar em contato com nossa equipe de suporte, criando um tíquete a partir da sua conta. Caso ainda não tenha uma conta, entre em contato conosco aqui.
Se você está procurando ajuda com um projeto usando o Brevo, podemos encontrar à agência parceira da Brevo certa.