Shortcodes
Shortcodes são os links no corpo entre peças de conteúdo. Um corpo de page ou post pode apontar para um block, um stack, um document ou um form, e o builder estático resolve cada referência em tempo de build, inserindo a renderização real, nunca um placeholder. Quatro shortcodes existem; todo o resto (listas de páginas, conteúdo relacionado, galerias, vídeos) é um tipo de block usado através da família {{block:name}}} em vez de uma sintaxe diferente.
As quatro famílias
{{block:name}}}- um block reutilizável. Renderiza a saída do template do block nomeado exatamente onde ele se situa no corpo. Os nomes de blocks são únicos por idioma; o conteúdo de um idioma referencia a edição de seu próprio idioma, com fallback para uma cópia sem idioma quando a edição desse idioma está ausente.{{stack:name}}}- um stack reutilizável. Stacks resolvem completamente, stacks aninhados resolvem recursivamente (com o limite de segurança de ciclo/profundidade), então o wrapper de layout do stack se aplica, de modo que um stack posicionado se lê como uma seção inteira dentro do corpo.{{document:slug}}}- um link de document publicado: buscado do cache de build, renderizado como o link para/documents/<slug>(o endpoint de download rastreado pelo CMS que o proxy do seu host roteia ao CMS).[form:slug]- um formulário embutido: renderizado inline quando o slug está ativo em tempo de build; faz fallback para um iframe hospedado no CMS quando apenascms_base_urlestá configurado; caso contrário, um erro de build.
Onde shortcodes rodam
- Apenas em texto de corpo, corpos de page e post (e corpos de landing page compartilham as mesmas famílias). Títulos, slugs, rótulos de menu e URLs não processam shortcodes.
- Nenhuma lógica no nível de template dentro de shortcodes - sem condições ou loops nesta camada. Renderização condicional vive nos blocks (cada um seu próprio arquivo TT), não na sintaxe de shortcode.
- Todas as quatro famílias resolvem na mesma passada de renderização em qualquer template de tema, incluindo corpos de páginas raw e landing, que podem ser montados do mesmo material de construção.
Referências quebradas são erros de build
Um shortcode apontando para algo que não existe (um nome de block/stack sem edição correspondente, um slug de document ausente ou não publicado, um form inativo) deixa um comentário marcador HTML na página construída (<!-- form:<slug> not found --> e afins) e é registrado como um erro de build nomeando o shortcode e a razão. O promotion guard os vê como qualquer falha pré-promoção, de modo que uma referência quebrada não possa ir ao ar silenciosamente; corrija a referência (ou publique/restaure o alvo) e reconstrua.
Escolhendo entre eles
- Blocks - o átomo para composição de conteúdo (hero, CTA, quote, gallery…); referencie um onde quer que sua instância única pertença.
- Stacks - uma seção ordenada completa em uma referência (linhas de recurso compartilhadas, grupos de CTA permanentes, seções de campanha).
- Documents - o caminho de download rastreado; como a substituição mantém o slug, as referências construídas sobrevivem às atualizações.
- Forms - a superfície de submissão; com
cms_base_urldefinido, o embutimento funciona mesmo quando a página está hospedada fora do CMS.
Eles se aninham livremente, um block pode viver dentro de um stack dentro de um corpo, e um form pode ficar dentro de um block; o builder resolve tudo o que aparece no conteúdo ativo.