Skip to main content
Filtros transformam o valor de uma variável antes de exibi-la.

Sintaxe

<%= variavel | nome_do_filtro %>
<%= variavel | filtro1 | filtro2: argumento %>

Filtros customizados

format_price

Formata um valor numérico como moeda, respeitando a moeda configurada na loja.
EntradaSaída (BRL)Saída (USD)
29.90R$ 29,90$29.90
0R$ 0,00$0.00
1500R$ 1.500,00$1,500.00
<span class="price"><%= package.pricing.price | format_price %></span>

hex_to_hsl

Converte uma cor hexadecimal para formato HSL (sem a função hsl()). Ideal para uso com CSS custom properties.
EntradaSaída
#ff00000 100% 50%
#615afa242 95% 48%
#ffffff0 0% 100%
valor inválido0 0% 0%
<style>
  :root {
    --primary: hsl(<%= config.primary_color | hex_to_hsl %>);
    --secondary: hsl(<%= config.secondary_color | hex_to_hsl %>);
    --primary-light: hsl(<%= config.primary_color | hex_to_hsl %> / 0.1);
  }
</style>
Esse filtro é muito útil para criar variações de cor (opacidade, tom) a partir de uma única cor definida no schema.

cdn

Adiciona o domínio CDN da CentralCart ao caminho de um arquivo. Use para referenciar imagens e assets armazenados no CDN.
<img src="<%= config.hero_image | cdn %>" alt="Banner" />

Outros filtros

Além dos filtros customizados, todos os filtros nativos do template engine estão disponíveis. Aqui estão os mais úteis:

Texto

FiltroDescriçãoExemplo
upcaseConverte para maiúsculas<%= "texto" | upcase %>TEXTO
downcaseConverte para minúsculas<%= "TEXTO" | downcase %>texto
capitalizePrimeira letra maiúscula<%= "texto" | capitalize %>Texto
truncateLimita o tamanho do texto<%= texto | truncate: 50 %>
truncatewordsLimita o número de palavras<%= texto | truncatewords: 10 %>
strip_htmlRemove tags HTML<%= conteudo | strip_html %>
escapeEscapa caracteres HTML<%= input | escape %>
newline_to_brConverte quebras de linha em <br><%= texto | newline_to_br %>
replaceSubstitui texto<%= texto | replace: "antigo", "novo" %>
splitDivide texto em array<%= "a,b,c" | split: "," %>
appendAdiciona texto ao final<%= "hello" | append: " world" %>
prependAdiciona texto ao início<%= "world" | prepend: "hello " %>

Números

FiltroDescriçãoExemplo
plusSoma<%= 5 | plus: 3 %>8
minusSubtração<%= 10 | minus: 3 %>7
timesMultiplicação<%= 5 | times: 2 %>10
divided_byDivisão<%= 10 | divided_by: 2 %>5
roundArredondamento<%= 4.6 | round %>5
floorArredonda para baixo<%= 4.9 | floor %>4
ceilArredonda para cima<%= 4.1 | ceil %>5

Arrays

FiltroDescriçãoExemplo
sizeTamanho do array<%= categories | size %>
firstPrimeiro item<%= categories | first %>
lastÚltimo item<%= categories | last %>
joinJunta itens com separador<%= tags | join: ", " %>
sortOrdena o array<%= items | sort: "name" %>
reverseInverte a ordem<%= items | reverse %>
mapExtrai campo de cada item<%= categories | map: "name" %>
whereFiltra por condição<%= items | where: "active", true %>
uniqRemove duplicatas<%= tags | uniq %>

Datas

FiltroDescriçãoExemplo
dateFormata uma data<%= order.created_at | date: "%d/%m/%Y" %>
Formatos comuns de data:
FormatoResultado
%d/%m/%Y01/04/2026
%d/%m/%Y %H:%M01/04/2026 14:30
%B %d, %YApril 01, 2026
Se você tiver qualquer dúvida, entre em contato com a nossa equipe de suporte em nosso WhatsApp e Discord.