Layout-Konzepte
| Konzept | Was es steuert | Entität |
|---|---|---|
| Ansicht | Eine gespeicherte Listen-Konfiguration für ein Objekt — sichtbare Felder, Reihenfolge, Filter, Gruppen | defineView |
| Navigationsmenüeintrag | Ein Eintrag in der linken Seitenleiste, der auf eine Ansicht oder eine externe URL verweist | defineNavigationMenuItem |
| Seitenlayout | Die Tabs und Widgets, aus denen die Detailseite eines Datensatzes besteht | definePageLayout |
| Seitenlayout-Registerkarte | Eine eigenständige Registerkarte, die an ein vorhandenes Seitenlayout angehängt ist (Standard oder das Ihrer eigenen App) | definePageLayoutTab |
universalIdentifier aufeinander:
- Ein Navigationsmenüeintrag vom Typ
VIEWverweist auf einendefineView-Bezeichner, sodass der Seitenleistenlink diese gespeicherte Ansicht öffnet. - Ein Seitenlayout vom Typ
RECORD_PAGEzielt auf ein Objekt ab und kann Frontkomponenten innerhalb seiner Tabs als Widgets einbetten.
defineView
Gespeicherte Views für Objekte definieren
defineView
Gespeicherte Views für Objekte definieren
Ansichten sind gespeicherte Konfigurationen dafür, wie Datensätze eines Objekts angezeigt werden — einschließlich sichtbarer Felder, deren Reihenfolge sowie angewendeter Filter oder Gruppen. Verwenden Sie Hauptpunkte:
defineView(), um vorkonfigurierte Ansichten mit Ihrer App auszuliefern:src/views/example-view.ts
objectUniversalIdentifiergibt an, auf welches Objekt diese Ansicht angewendet wird.keybestimmt den Ansichtstyp (z. B.ViewKey.INDEXfür die Hauptlistenansicht).fieldssteuert, welche Spalten erscheinen und in welcher Reihenfolge. Jedes Feld referenziert einenfieldMetadataUniversalIdentifier.- Für erweiterte Konfigurationen können Sie außerdem
filters,filterGroups,groupsundfieldGroupsdefinieren. positionsteuert die Reihenfolge, wenn mehrere Ansichten für dasselbe Objekt existieren.
defineNavigationMenuItem
Seitenleisten-Navigationslinks definieren
defineNavigationMenuItem
Seitenleisten-Navigationslinks definieren
definePageLayout
Benutzerdefinierte Seitenlayouts für Datensatzansichten definieren
definePageLayout
Benutzerdefinierte Seitenlayouts für Datensatzansichten definieren
Seitenlayouts ermöglichen es Ihnen, das Aussehen einer Datensatzdetailseite anzupassen — welche Tabs erscheinen, welche Widgets sich in jedem Tab befinden und wie sie angeordnet sind. Verwenden Sie Hauptpunkte:
definePageLayout(), um benutzerdefinierte Layouts mit Ihrer App auszuliefern:src/page-layouts/example-record-page-layout.ts
typeist typischerweise'RECORD_PAGE', um die Detailansicht eines bestimmten Objekts anzupassen.objectUniversalIdentifiergibt an, auf welches Objekt dieses Layout angewendet wird.- Jeder
tabdefiniert einen Abschnitt der Seite mittitle,positionundlayoutMode(CANVASfür ein freies Layout). - Jedes
widgetinnerhalb eines Tabs kann eine Frontend-Komponente, eine Relationenliste oder andere eingebaute Widget-Typen rendern. positionauf Tabs steuert deren Reihenfolge. Verwenden Sie höhere Werte (z. B. 50), um benutzerdefinierte Tabs hinter den integrierten zu platzieren.
definePageLayoutTab
Eine Registerkarte zu einem bestehenden Seitenlayout hinzufügen
definePageLayoutTab
Eine Registerkarte zu einem bestehenden Seitenlayout hinzufügen
definePageLayoutTab ermöglicht es Ihrer App, eine einzelne Registerkarte — mit optionalen Widgets — an ein bestehendes Seitenlayout anzuhängen. Der häufigste Anwendungsfall ist das Hinzufügen einer benutzerdefinierten Registerkarte (z. B. einer Analytics- oder KI-Zusammenfassungs-Registerkarte) zu einer der in Twenty integrierten Datensatzseiten oder zu einem Seitenlayout, das Ihre eigene App bereits mitliefert.Das Zielseitenlayout muss entweder ein Standard-Seitenlayout von Twenty sein oder eines, das von Ihrer eigenen App definiert wird; appübergreifende Verweise auf Seitenlayouts, die einer anderen installierten App gehören, werden derzeit nicht unterstützt.src/page-layouts/example-extra-tab.ts
pageLayoutUniversalIdentifierist erforderlich bei der Verwendung vondefinePageLayoutTabund muss auf ein Seitenlayout verweisen, das zum Installationszeitpunkt bereits existiert (Standard oder das Ihrer App). Wenn das übergeordnete Seitenlayout fehlt, schlägt die Installation mit einem eindeutigen Validierungsfehler fehl.widgetssind ausschließlich auf diese Registerkarte beschränkt — sie verweisen auf Frontend-Komponenten, Ansichten usw., genau wie Widgets, die inline indefinePageLayoutdefiniert sind.positionsteuert die Reihenfolge im Zielseitenlayout relativ zu den vorhandenen Registerkarten. Wählen Sie einen Wert, der Ihre Registerkarte relativ zu integrierten Registerkarten an die gewünschte Position bringt.- Verwenden Sie dies anstelle von
definePageLayout, wenn Sie einem vorhandenen Layout nur etwas hinzufügen möchten. Verwenden SiedefinePageLayout, wenn Sie das gesamte Layout besitzen (typischerweise eineRECORD_PAGEfür ein Objekt, das Sie in Ihrer App ausliefern, oder eineSTANDALONE_PAGE).