definePageLayout() per dichiarare un layout per un oggetto di tua proprietà, oppure definePageLayoutTab() per aggiungere una singola scheda a un layout già esistente (tuo o standard di Twenty).
definePageLayout
Usa questo quando possiedi l’intera pagina di dettaglio — in genere per un oggetto personalizzato che hai definito tu stesso.src/page-layouts/example-record-page-layout.ts
Punti chiave
typeè uno tra'RECORD_INDEX','RECORD_PAGE','DASHBOARD'o'STANDALONE_PAGE'. Usa'RECORD_PAGE'per personalizzare la vista dei dettagli di un oggetto specifico.objectUniversalIdentifierspecifica a quale oggetto si applica questo layout.- Ogni
tabdefinisce una sezione della pagina contitle,positionelayoutMode:VERTICAL_LISTper le pagine dei record e le pagine autonome,GRIDper le dashboard. In una schedaVERTICAL_LIST, un singolo widget viene visualizzato a tutta larghezza e occupa l’intera scheda; con più widget, vengono impilati come card. Una schedaGRIDdispone sempre i widget come card su una griglia a 12 colonne, qualunque sia il loro numero, quindi scegliVERTICAL_LISTquando vuoi che un widget riempia la pagina. - Imposta esplicitamente
layoutMode. Ometterlo impostaVERTICAL_LISTsu unaSTANDALONE_PAGEeGRIDaltrove, il che raramente è ciò che vuoi per la pagina di un record. - Ogni
widgetall’interno di una scheda può renderizzare un front component, un elenco di relazioni o altri tipi di widget integrati. positionsulle schede controlla il loro ordine. Usa valori più alti (ad es., 50) per posizionare le schede personalizzate dopo quelle integrate.
definePageLayoutTab
Usa questo quando vuoi solo aggiungere una scheda a un layout esistente — per esempio, una scheda di analisi sulla pagina Company standard, o una scheda di riepilogo AI collegata al layout del tuo oggetto.src/page-layouts/example-extra-tab.ts
Punti chiave
-
pageLayoutUniversalIdentifierè obbligatorio e deve puntare a un layout di pagina che esiste già al momento dell’installazione — oppure un layout standard di Twenty o uno definito dalla tua app. I riferimenti tra app a layout di proprietà di un’altra app installata non sono attualmente supportati. Quando il layout di pagina padre manca, l’installazione non va a buon fine e restituisce un chiaro errore di validazione. -
Per i layout standard di Twenty, importa gli identificatori da
twenty-sdk/define:Ogni voce di layout espone anche i propritabse i relativiwidgets, così puoi fare riferimento a qualsiasi livello:È disponibile anche un alias breveSTANDARD_PAGE_LAYOUT: -
I
widgetssono limitati solo a questa scheda — fanno riferimento a front components, viste, ecc. esattamente come i widget definiti inline indefinePageLayout. -
positioncontrolla l’ordinamento rispetto alle schede esistenti nel layout di destinazione. Scegli un valore che collochi la tua scheda dove desideri rispetto alle schede integrate. -
Usa questo invece di
definePageLayoutquando vuoi solo aggiungere a un layout esistente. UsadefinePageLayoutquando possiedi l’intero layout.