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.
Come si dichiara un componente
Sezione intitolata “Come si dichiara un componente”Ogni componente del contratto ha:
- un id qualificato, come
acme.home.hero, e una versione; - un tipo (kind):
section,blockolayout; - campi tipizzati, per esempio un
heading(testo, obbligatorio, fino a 80 caratteri), unimage(asset) e uncta(link).
I redattori vedono un modulo costruito a partire da questi campi. Non possono aggiungere campi, incollare HTML né modificare il Suo markup.
Come lo rende il Suo sito web
Sezione intitolata “Come lo rende il Suo sito web”Mantenga nel Suo codice un piccolo registro che associa ogni id di componente al componente React che lo rende:
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.
Mantenere allineati codice e contenuti
Sezione intitolata “Mantenere allineati codice e contenuti”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.
Aggiungere un nuovo componente
Sezione intitolata “Aggiungere un nuovo componente”- Realizzi e testi il componente nel codice del Suo sito web.
- Lo aggiunga al bundle del contratto con i suoi campi e ai tipi di pagina in cui i redattori possono inserirlo.
- Convalidi e proponga il contratto. Un amministratore del sito lo attiva.
- Distribuisca il sito web. Studio mostra In sync.
- I redattori possono ora usarlo.