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_instagramdas 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.
Navegação como lista e árvore
nav_items: a lista plana por slot (label/url/slot/sort), incluindo links externos.nav_by_slotenav_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.