definePageLayout() pentru a declara un layout pentru un obiect pe care îl deții sau definePageLayoutTab() pentru a adăuga o singură filă la un layout care există deja (al tău sau un layout standard Twenty).
definePageLayout
Folosește aceasta atunci când deții întreaga pagină de detalii — de obicei pentru un obiect personalizat pe care l-ai definit chiar tu.src/page-layouts/example-record-page-layout.ts
Puncte cheie
typeeste unul dintre'RECORD_INDEX','RECORD_PAGE','DASHBOARD'sau'STANDALONE_PAGE'. Folosiți'RECORD_PAGE'pentru a personaliza vizualizarea de detaliu a unui obiect specific.objectUniversalIdentifierspecifică la ce obiect se aplică această machetă.- Fiecare
tabdefinește o secțiune a paginii cu untitle,positionșilayoutMode:VERTICAL_LISTpentru pagini ale înregistrărilor și pagini independente,GRIDpentru dashboard-uri. Într-un tab de tipVERTICAL_LIST, un singur widget este redat pe toată lățimea și ocupă întregul tab; cu mai multe widget-uri, acestea sunt aranjate în stivă, sub formă de carduri. Un tab de tipGRIDașază întotdeauna widget-urile sub formă de carduri pe o grilă cu 12 coloane, indiferent de numărul lor, așa că alegeVERTICAL_LISTatunci când vrei ca un singur widget să umple pagina. - Setează explicit
layoutMode. Dacă îl omiți, vei obțineVERTICAL_LISTpe unSTANDALONE_PAGEșiGRIDîn rest, ceea ce rareori îți dorești pe o pagină de înregistrare. - Fiecare
widgetdintr-o filă poate reda un front component, o listă de relații sau alte tipuri de widgeturi integrate. positionpe file le controlează ordinea. Folosește valori mai mari (de ex., 50) pentru a plasa filele personalizate după cele integrate.
definePageLayoutTab
Folosește aceasta atunci când vrei doar să adaugi o filă la un layout existent — de exemplu, o filă de analize pe pagina standard Company sau o filă de rezumat AI atașată layoutului obiectului tău.src/page-layouts/example-extra-tab.ts
Puncte cheie
-
pageLayoutUniversalIdentifiereste obligatoriu și trebuie să indice către un layout de pagină care există deja la momentul instalării — fie un layout standard Twenty, fie unul definit de propria ta aplicație. Referințele cross-app către layouturi deținute de o altă aplicație instalată nu sunt acceptate în prezent. Când lipsește layoutul părinte, instalarea eșuează cu o eroare clară de validare. -
Pentru layout-urile standard Twenty, importați identificatorii din
twenty-sdk/define:Fiecare intrare de layout își expune, de asemenea,tabsșiwidgets, astfel încât puteți face referire la orice nivel:Este disponibil și un alias scurtSTANDARD_PAGE_LAYOUT: -
widgetssunt limitate doar la această filă — fac referire la front components, vizualizări etc., exact ca widgeturile definite inline îndefinePageLayout. -
positioncontrolează ordonarea în raport cu filele existente din layoutul țintă. Alege o valoare care să plaseze fila ta acolo unde dorești, relativ la filele predefinite. -
Folosește aceasta în loc de
definePageLayoutatunci când vrei doar să adaugi la un layout existent. FoloseștedefinePageLayoutatunci când deții întregul layout.