メインコンテンツへスキップ
defineField() を使用すると、あなたが所有していないオブジェクト ― Person や Company のような標準の Twenty オブジェクトや、他のインストール済みアプリから提供されるオブジェクト ― にフィールドを追加できます。 defineObject 内で宣言されるインラインフィールドと異なり、スタンドアロンフィールドでは、どのオブジェクトを拡張するかを指定するために objectUniversalIdentifier が必要です。
src/fields/company-loyalty-tier.field.ts

主なポイント

  • objectUniversalIdentifier は対象オブジェクトを識別します。 標準の Twenty オブジェクトの場合は、twenty-sdk から定数を import します:
  • フィールドを defineObject() 内でインライン定義する 場合、objectUniversalIdentifier不要 です — 親オブジェクトから継承されます。
  • defineField() は、defineObject() で作成していないオブジェクトにフィールドを追加する唯一の方法です。
  • ファイルの配置場所は任意です。 慣例としては src/fields/\<name>.field.ts ですが、SDK は src/ 内の任意の場所にあるフィールドを検出します。
  • 標準ページレイアウト(例:Task や Company の詳細ページ)にタブを追加するには、twenty-sdk/defineSTANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERS とともに definePageLayoutTab を使用します。

既存のオブジェクトへのリレーションの追加

リレーションフィールド(例: カスタムオブジェクトを標準の Person にリンクする)を追加するには、FieldType.RELATION を指定して defineField() を使用します。 パターンはインラインのリレーションと同じですが、objectUniversalIdentifier を明示的に設定します。 双方向のパターンについては、Relations を参照してください。