Feito com Chinaski

Variáveis de Template & Helpers

Os temas recebem seus dados como um conjunto único plano de valores : o builder computa tudo (URLs, datas, menus, design tokens, fragmentos renderizados) antes de o seu template executar, então lhes entrega os resultados como variáveis simples. Esta página lista o que está disponível e como os “helpers” funcionam. (Para as variáveis essenciais e a sintaxe, o Template Reference cobre os casos-base; esta página aprofunda.)

Como os helpers funcionam no Chinaski

Não há funções de template personalizadas a aprender : a sintaxe padrão do Template Toolkit é tudo o que há ([% variable %], filtros como | html e | uri, IF/FOREACH/INCLUDE, etc.). Os “helpers” na prática são variáveis pré-computadas: em vez de pedir que você formate datas ou monte URLs em código de template, o builder os computa e passa a resposta. As pegadinas conhecidas seguem disto: não há objetos estilo page.title (use title), e as datas chegam prontas (use a variável pré-computada date).

As variáveis centrais (por tipo de conteúdo)

As tabelas do Template Reference permanecem o contrato primário de page.tt/post.tt/blog_index.tt/search.tt : título, body (pré-renderizado, não escape), slug, lang, canonical_url, nav_items, campos de imagem destacada, IDs de analytics, password_hash, links hreflang, breadcrumbs, e assim por diante. Esta página documenta todo o resto de fato fornecido.

Variáveis de nível de site que toda visão recebe

  • site_name, site_tagline, footer_copyright, year, url_base : identidade e raízes de URL.
  • blog_prefix, blog_url_base : o prefixo de caminho do blog no idioma atual, e o endereço raiz do blog, pré-construídos.
  • dir : 'ltr' ou 'rtl' por idioma; use-o no <html> para que idiomas direita-para-esquerda funcionem.
  • Contatos do rodapé : org_phone, org_email, org_linkedin, org_instagram das configurações do site.
  • footer_feed_url : o endereço do feed (vazio quando o site não tem posts publicados).
  • Variáveis do aviso de cookies : o texto do aviso, o link de política, e os rótulos dos botões, cada um resolvendo a uma sobrescrita por idioma quando ela existe.
  • noindex, airgap : booleanos simples; um tema pode mudar o comportamento (por exemplo pular scripts de compartilhamento) quando qualquer um é verdadeiro.
  • Variáveis de PWA : pwa_enabled, pwa_theme_color, pwa_short_name.
  • nav_items : a lista plana por slot (label/url/slot/sort), incluindo links externos.
  • nav_by_slot e nav_tree_by_slot : os mesmos itens agrupados por slot (‘header’/‘footer’), e adicionalmente árvores pai/filho pré-construídas para menus aninhados : você não monta a aninhagem você mesmo.

Fragmentos pré-renderizados

Alguns pedaços de HTML são montados antes de o seu template executar e chegam a você já renderizados:

  • sidebar_html : a saída do partial de sidebar (renderizada quando seu tema fornece _sidebar.tt; a config de tema pode desligar a sidebar).
  • stacks_html : cada stack atribuída a esta página/post, renderizada em ordem.
  • area_html : um mapa de nome de área → blocos renderizados para temas que usam áreas de layout; renderize o HTML de cada área no ponto do template em que aquela área pertence.

Configuração e tokens

  • theme_config : um tema pode carregar as próprias configurações chave/valor (armazenadas no banco de dados junto ao tema) e lê-las nos templates.
  • design_tokens : a lista de design tokens do site; a maioria dos temas usa tokens via o CSS gerado, mas a lista é fornecida para casos avançados.
  • custom_fields : os campos chave/valor personalizados deste registro.
  • page_authors / post_authors : a lista de autores atribuídos.
  • children (páginas) : as sub-páginas sob esta página, prontas para listagem ou menus.
  • default_site_image (+ uma variante absoluta) : a imagem de compartilhamento de fallback do site; favicon_enabled, logo_file : a flag do pipeline de favicon e o arquivo de logo configurado.
  • Variantes absolutas de imagem : as variáveis de imagem destacada e de imagem OG vêm com formas de URL absoluta já resolvidas, de modo que as tags sociais não constroem URLs por si mesmas.

O que acontece após a saída do seu template

O HTML do seu template é finalizado pelo builder: os snippets são injetados no head/corpo onde configurado, e o resultado é minificado por padrão (uma configuração pode desligar isso) antes de ser escrito ao disco.

A ideia de theme-config

Um tema pode definir as próprias configurações (theme_config): o builder as carrega do banco de dados e as passa a cada renderização. Combinado com o diretório de tema de fallback padrão (seu tema só precisa dos templates que muda; arquivos faltantes fazem fallback aos embutidos), seu tema permanece simples.

A versão curta

Variáveis entram = respostas saem: o builder faz a computação para que os templates permaneçam declarativos : nomes planos, valores corretos e localizados, nenhum código de formatação, nenhuma função personalizada. Se um valor de que você precisa não está entre eles (estado por visita, meta por registro), ele geralmente é alcançável via custom_fields, design tokens, ou as variáveis derivadas das configurações do site listadas acima.

Leia este site em