Shortcodes
Los shortcodes son los enlaces en el cuerpo entre piezas de contenido. El cuerpo de una página o post puede apuntar a un block, un stack, un documento o un formulario, y el builder estático resuelve cada referencia en tiempo de build: insertando el render real, nunca un marcador de posición. Existen cuatro shortcodes; todo lo demás (listas de páginas, contenido relacionado, galerías, videos) es un tipo de block usado a través de la familia {{block:name} en lugar de una sintaxis distinta.
Las cuatro familias
{{block:name}: un block reutilizable. Renderiza la salida de la plantilla del block nombrado exactamente donde se encuentra en el cuerpo. Los nombres de blocks son únicos por idioma; el contenido de un idioma referencia la edición de su propio idioma, recurriendo a una copia sin idioma cuando falta la edición de este idioma.{{stack:name}: un stack reutilizable. Los stacks se resuelven por completo : los stacks anidados se resuelven recursivamente (con el tope de seguridad de ciclo/profundidad), luego se aplica el wrapper de layout del stack: así que un stack colocado se lee como una sección completa dentro del cuerpo.{{document:slug}: un enlace a un documento publicado: buscado en la caché de build, renderizado como el enlace a/documents/<slug>(el endpoint de descarga rastreado por el CMS al que el proxy de tu host enruta).[form:slug]: un formulario embebido: renderizado en línea cuando el slug está activo en tiempo de build; recurre a un iframe alojado en el CMS cuando solo está configuradocms_base_url; de lo contrario, un error de build.
Dónde se ejecutan los shortcodes
- Solo en texto de cuerpo : cuerpos de páginas y posts (y los cuerpos de landing pages comparten las mismas familias). Los títulos, slugs, etiquetas de menú y URLs no procesan shortcodes.
- Sin lógica a nivel de plantilla dentro de los shortcodes: sin condiciones ni bucles en esta capa. El renderizado condicional vive en los blocks (cada uno su propio archivo TT), no en la sintaxis de los shortcodes.
- Las cuatro familias se resuelven en la misma pasada de render en cualquier plantilla de theme : incluyendo los cuerpos raw y de landing pages, que pueden ensamblarse con el mismo material de construcción.
Las referencias rotas son errores de build
Un shortcode que apunta a algo que no existe (un nombre de block/stack sin edición coincidente, un slug de documento faltante o no publicado, un formulario inactivo) deja un comentario marcador HTML en la página construida (<!-- form:<slug> not found --> y amigos) y se registra como un error de build que nombra el shortcode y la razón. La compuerta de promoción ve esos casos como cualquier fallo previo a la promoción: así que una referencia rota no puede enviarse silenciosamente; corrige la referencia (o publica/restaura el objetivo) y reconstruye.
Cómo elegir entre ellos
- Blocks : el átomo para la composición de contenido (hero, CTA, quote, gallery…); referencia uno donde pertenezca su instancia única.
- Stacks: una sección completa ordenada en una sola referencia (filas de características compartidas, grupos de CTA permanentes, secciones de campaña).
- Documents : la ruta de descarga rastreada; como el reemplazo conserva el slug, las referencias construidas sobreviven a las actualizaciones.
- Forms: la superficie de envío; con
cms_base_urldefinido, el embebido funciona incluso cuando la página está alojada fuera del CMS.
Se anidan libremente : un block puede vivir dentro de un stack dentro de un cuerpo, y un formulario puede quedar dentro de un block; el builder resuelve todo lo que aparece en el contenido activo.