1. Personalização
FácilZap API
  • FácilZap API
    • Introdução
    • Ambientes
    • Tipos de Usuários
    • Autenticação
    • Limites
    • Endpoints
    • Webhooks
    • Referência da API
    • Histórico de Alterações
  • Personalização
    • Introdução
    • Dados, helpers e sintaxe do template
    • HTML, CSS e limites
    • Componentes prontos
    • Cabeçalho e rodapé
    • Menus (desktop, submenu e mobile)
  1. Personalização

Dados, helpers e sintaxe do template

Use {{ variavel.campo }} para inserir valores dinâmicos.

Dados da loja — store.*#

VariávelRetorno
{{ store.name }}Nome da loja
{{ store.email }}E-mail público da loja
{{ store.logo }}URL do logotipo quadrado
{{ store.logo_horizontal }}URL do logotipo horizontal
{{ store.whatsapp.label }}Texto do WhatsApp (ex.: "Fale conosco")
{{ store.whatsapp.display }}Número formatado para exibição (ex.: "(11) 99999-0000")
{{ store.whatsapp.number }}Número cru do WhatsApp (só dígitos) — para link, use contact('whatsapp').url
{{ store.socials.instagram }}URL do Instagram
{{ store.socials.facebook }}URL do Facebook
{{ store.socials.youtube }}URL do YouTube

Catálogo — catalog.*#

VariávelRetorno
{{ catalog.id }}Identificador do catálogo
{{ catalog.name }}Nome do catálogo
{{ catalog.categories }}Lista de categorias (3 níveis: id, name, slug, url, image, image_thumb, total_products, superior, subcategories)

Data atual — now.*#

VariávelRetorno
{{ now.year }}Ano corrente (ex.: 2026 — use em © {{ now.year }} {{ store.name }})

Funcionalidades — features.*#

Booleanas que indicam se o recurso está ativo (use em @if):
{{ features.search }} — busca · {{ features.newsletter }} — newsletter
{{ features.store_profile }} — perfil da loja · {{ features.whatsapp }} — WhatsApp ativo
{{ features.payment_methods }} — pagamentos · {{ features.delivery_methods }} — entregas
{{ features.policies }} — políticas · {{ features.how_to_buy }} — como comprar
{{ features.reviews }} — avaliações · {{ features.affiliate }} — afiliados
{{ features.verification }} — loja verificada · {{ features.llms }} — arquivo llms.txt
{{ features.portal_icon }} — portal FacilZap
{{ features.footer_whatsapp_fallback }} — sem WhatsApp (mostrar contato alternativo)
{{ features.footer_info_fallback }} — sem verificação nem perfil (mostrar bloco institucional)
{{ features.mostrar_menu_categorias }} — menu de categorias habilitado na loja

Links — links.* e rodapé — footer.*#

URLs absolutas: links.home, links.search, links.cart, links.account, links.whatsapp, links.affiliate, links.llms_txt e as seções de produtos links.lancamentos, links.mais_vendidos, links.promocoes, links.novidades_semana (mesmas do menu mobile fixo: grade Descobrir + promo Novidades).
Rodapé: footer.payments, footer.policies e footer.verification são booleanos (interpolam 1/vazio); para condicionais use @if(feature('payment_methods')), @if(feature('policies')) e @if(feature('verification')). Políticas individuais via policy('privacy'|...). Identificação: footer.legal.cnpj, footer.legal.address, footer.legal.powered_by, footer.legal.powered_url e footer.llms.

Helpers#

HelperArgumentosRetorno
{{ link('home') }}'home', 'search', 'cart', 'account', 'whatsapp', 'affiliate', 'llms_txt', 'lancamentos', 'mais_vendidos', 'promocoes', 'novidades_semana'URL absoluta
{{ asset('store.logo') }}'store.logo', 'store.logo_horizontal'URL do recurso
{{ feature('search') }}flags de features.*true/false
{{ contact('whatsapp').url }} / .label / .number / .share'whatsapp'URL / rótulo / número cru / URL com a página atual na mensagem ({{ contact('whatsapp') }} sem sufixo equivale a .url)
{{ policy('privacy') }}'privacy', 'shipping', 'returns', 'warranty'URL da política
<a href="{{ link('home') }}">Início</a>
<a href="{{ link('lancamentos') }}">Lançamentos</a>
<img src="{{ asset('store.logo') }}" alt="{{ store.name }}">
<a href="{{ contact('whatsapp').share }}">Chamar no WhatsApp</a>
<small>© {{ now.year }} {{ store.name }}</small>
@if(feature('search'))
  <fz-search></fz-search>
@endif

Condicional — @if e loop — @foreach#

@if(feature('mostrar_menu_categorias'))
  @foreach(categories as category limit 5)
    <a href="{{ category.url }}">{{ category.name }}</a>
  @endforeach
@endif
@foreach(categories as category)
  <a href="{{ category.url }}">{{ category.name }}</a>
  @foreach(category.subcategories as subcategory)
    <a href="{{ subcategory.url }}">{{ subcategory.name }}</a>
  @endforeach
@endforeach
Loops aninhados vão até 3 níveis (category → subcategory → subsubcategory). O item só existe dentro do próprio loop. Com limit N / offset M dá para particionar a lista (ex. 5 primeiras + resto em MAIS CATEGORIAS).

O que não usar na sintaxe#

{{ $x }}, {{ 1 + 2 }}, {{ store.upper() }}, {{ store[0] }}
Globais ($GLOBALS, $_SESSION) e outras diretivas (@csrf, @php, @yield)
Na dúvida, HTML simples + componentes <fz-*>.
Modificado em 2026-09-09 01:58:25
Página anterior
Introdução
Próxima página
HTML, CSS e limites
Built with