Skip to content

Filtros da LojaVirtual ​

Além da sintaxe do LiquidJS, o engine registra três filtros específicos. Filtros desconhecidos geram erro; conferir a grafia faz parte do diagnóstico.

money ​

Recebe um valor monetário com amount em centavos inteiros e currency, como { amount: 12990, currency: 'BRL' }, e o formata em português brasileiro. Valores ausentes ou sem o formato exigido produzem texto vazio.

liquid
{% if product.priceVisible and product.price %}
  <span>{{ product.price | money }}</span>
{% endif %}

Não divida o preço por 100 antes de usar esse filtro. Não some novamente ajustes de variantes: o valor fornecido já é o preço unitário final.

asset_url ​

Resolve imagens presentes no bundle efetivo do tema. O caminho canônico é relativo a assets:

liquid
<img src="{{ 'images/banner.webp' | asset_url }}" alt="Coleção da estação">

O exemplo exige o arquivo assets/images/banner.webp. O filtro retorna a URL correspondente à revisão ou à prévia. Arquivos ausentes e tentativas de sair da pasta permitida geram erro.

Imagens de produtos usam os campos de imagem recebidos da plataforma; a logo global usa shop.logo. Esses valores não passam por asset_url. Para CSS, use o caminho relativo ao entrypoint, como url('./images/banner.webp').

storefront_url ​

Recebe um caminho interno começando por /. Na loja pública mantém o caminho; na prévia acrescenta o namespace temporário necessário à navegação.

liquid
<a href="{{ category.url | storefront_url }}">{{ category.name }}</a>
<form method="get" action="{{ '/busca' | storefront_url }}">
  <label for="busca">Buscar produtos</label>
  <input id="busca" name="q" type="search">
  <button type="submit">Buscar</button>
</form>

Para categorias, use category.url pronta. Não reconstrua o destino com o slug. Protocolos, domínios, // e segmentos .. não são entradas válidas desse filtro. Links externos permanecem explícitos.

Veja URLs públicas e os exemplos de navegação.

Temas V3 · Liquid estrutura, CSS desenha, JSON compõe.