Salta ai contenuti
API di consegna
Prima di pianificare in base a una funzionalità, consulti lo stato delle funzionalità.

GuideContenuti

Componenti e registro

Come i componenti del Suo sito web diventano sezioni utilizzabili dai redattori e come Atlas li mantiene allineati al Suo codice distribuito.

Questa pagina è stata tradotta dall'inglese. In caso di differenze, fa fede la versione inglese. Leggi in inglese

Atlas non invia mai componenti al Suo sito web. I Suoi componenti restano nel Suo repository. Il contratto del sito indica ad Atlas quali componenti esistono e quali campi i redattori possono compilare.

Ogni componente del contratto ha:

  • un id qualificato, come acme.home.hero, e una versione;
  • un tipo (kind): section, block o layout;
  • campi tipizzati, per esempio un heading (testo, obbligatorio, fino a 80 caratteri), un image (asset) e un cta (link).

I redattori vedono un modulo costruito a partire da questi campi. Non possono aggiungere campi, incollare HTML né modificare il Suo markup.

Mantenga nel Suo codice un piccolo registro che associa ogni id di componente al componente React che lo rende:

atlas/sections.tsx
import { Hero } from '@/components/hero';
import { FeatureGrid } from '@/components/feature-grid';
import type { AtlasSection } from '@/lib/atlas';
const registry = {
'acme.home.hero': Hero,
'acme.home.features': FeatureGrid,
} as const;
export function renderSection(
section: AtlasSection,
assets: Record<string, { url: string; alt?: string }>,
) {
const Component = registry[section.component.id as keyof typeof registry];
if (!Component) return null; // unknown component: skip it, never guess
return <Component key={section.id} {...section.props} assets={assets} />;
}

Convalidi le props ricevute dal Suo componente come farebbe con qualsiasi input esterno.

Il Suo sito web segnala i componenti con cui è stato costruito all’avvio (POST /deployments). Studio lo confronta con il contratto attivo e mostra uno dei seguenti stati:

Stato Significato
In sync La build distribuita rende il contratto attivo
Missing components Il contratto usa componenti che questa build non possiede. Distribuisca prima il codice
Different contract La build è stata creata per un’altra versione del contratto
Unknown contract Atlas non ha mai visto il contratto segnalato da questa build
No contract Nessun contratto è ancora attivo

Un rilascio in Produzione non può essere approvato mentre il sito web non è allineato. Ciò impedisce ai redattori di usare un componente che non esiste ancora sul sito online.

  1. Realizzi e testi il componente nel codice del Suo sito web.
  2. Lo aggiunga al bundle del contratto con i suoi campi e ai tipi di pagina in cui i redattori possono inserirlo.
  3. Convalidi e proponga il contratto. Un amministratore del sito lo attiva.
  4. Distribuisca il sito web. Studio mostra In sync.
  5. I redattori possono ora usarlo.