Skip to main content
Макет страницы управляет тем, как устроена страница деталей записи: какие вкладки отображаются и какие виджеты они содержат. Используйте definePageLayout() для объявления макета для объекта, которым вы владеете, или definePageLayoutTab() для добавления одной вкладки к макету, который уже существует (вашему или стандартному Twenty).

definePageLayout

Используйте это, когда вы управляете всей страницей деталей — обычно для пользовательского объекта, который вы определили сами.
src/page-layouts/example-record-page-layout.ts

Основные моменты

  • type обычно равен 'RECORD_PAGE' для настройки детального представления конкретного объекта.
  • objectUniversalIdentifier указывает, к какому объекту применяется этот макет.
  • Каждая tab определяет раздел страницы с title, position и layoutMode (CANVAS для свободного макета).
  • Каждый widget внутри вкладки может отображать front component, список связей или другие встроенные типы виджетов.
  • position у вкладок управляет их порядком. Используйте большие значения (например, 50), чтобы разместить пользовательские вкладки после встроенных.

definePageLayoutTab

Используйте это, когда вы хотите только добавить вкладку к существующему макету — например, вкладку аналитики на стандартной странице Company или вкладку с AI-сводкой, прикреплённую к макету вашего собственного объекта.
src/page-layouts/example-extra-tab.ts

Основные моменты

  • pageLayoutUniversalIdentifier является обязательным и должен указывать на макет страницы, который уже существует на момент установки — либо стандартный макет Twenty, либо определённый вашим собственным приложением. Кросс-приложенческие ссылки на макеты, которыми владеет другое установленное приложение, на данный момент не поддерживаются. Если родительский макет отсутствует, установка завершается с понятной ошибкой проверки.
  • Для стандартных макетов Twenty импортируйте идентификаторы из twenty-sdk/define:
    Каждый элемент макета также предоставляет свои tabs и их widgets, поэтому вы можете ссылаться на любой уровень:
    Также доступен короткий псевдоним STANDARD_PAGE_LAYOUT:
  • widgets ограничены только этой вкладкой — они ссылаются на front components, представления и т. п. точно так же, как виджеты, определённые непосредственно в definePageLayout.
  • position управляет порядком относительно существующих вкладок в целевом макете. Выберите значение, которое поместит вашу вкладку в нужное место относительно встроенных вкладок.
  • Используйте это вместо definePageLayout, когда вы хотите только добавить к существующему макету. Используйте definePageLayout, когда вы управляете всем макетом.