モデルとフィールド
モデルは、コンテンツのデータ構造を定義する骨組みです。1つ以上のフィールドを組み合わせて、コンテンツに入力できる項目とその形式を決めます。
コレクションの中に複数のモデルを作成し、モデルの定義に従ってコンテンツを入力していきます。
モデル
モデルは、コレクションの中で「どのような構造のコンテンツを扱うか」を表します。
1つのコレクションの中には、用途の異なる複数のモデルを作成します。たとえば、あるブランドのコンテンツをまとめたコレクションには、次のようなモデルを作成します。
- ブログ記事: タイトル、本文、サムネイル、著者などを定義
- お知らせ: タイトル、本文などを定義
- 商品情報: 商品名、価格、画像、説明などを定義
フィールド
フィールドは、コンテンツの入力項目です。フィールドにはテキストや日付、画像などの種類(フィールドタイプ)があり、組み合わせることでコンテンツのデータ構造を定義します。
フィールドを追加する際は、次の項目を指定します。
- フィールドタイプ: 入力する値の種類
- フィールド名: 管理画面に表示される名称
- フィールドID: APIのレスポンスでプロパティ名として使われる識別子
- フィールドの説明: 入力者向けの補足説明(任意)
- デフォルト値: 初期状態で入力する値(任意)
入力を必須にしたいフィールドには、必須の設定を有効にします。このほか、フィールドタイプごとに固有の設定(文字数の上限、複数選択の可否など)があります。
フィールドタイプ
利用できるフィールドタイプは次のとおりです。各タイプの説明、設定できる項目、APIで取得したときの値の例を示します。サンプルは、コンテンツのフィールドID(uid)をキーとした値の部分を抜き出したものです。
1. テキスト
入力インターフェース

サンプルデータ
{ "title": "サンプルテキスト"}入力タイプ
| 入力タイプ | |
|---|---|
| テキスト(1行) | 入力インターフェースが、1行のテキストとなります |
| テキストエリア(複数行) | 入力インターフェースが、複数行のテキストエリアとなります |
オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| このフィールドをタイトルとして使う | 管理画面上でコンテンツのタイトルとして扱うフィールドに対して付与します。入力がない場合はコンテンツを保存できなくなります |
| 一意の文字列(ユニーク) | テキスト入力時に他コンテンツの同フィールドに重複する値が設定されている場合に、コンテンツの公開(保存して公開)ができなくなります |
| 最大文字数 | 設定した文字数を超える文字列を入力した際に、コンテンツの公開(保存して公開)ができなくなります |
| 最小文字数 | 設定した文字数未満の文字列を入力した際に、コンテンツの公開(保存して公開)ができなくなります |
2. 数字
入力インターフェース

サンプルデータ
{ "price": 2000}オプション
| 概要 | |
|---|---|
| 最大値 | 設定した数値を超える数値を入力した際に、コンテンツの公開(保存して公開)ができなくなります |
| 最小値 | 設定した数値未満の数値を入力した際に、コンテンツの公開(保存して公開)ができなくなります |
3. 画像
入力インターフェース

メディアライブラリからも選択できます

サンプルデータ
{ "image": { "id": "xxxxxxxxxxxx", "sys": { "createdAt": "2026-01-01T00:00:00.000Z", "createdBy": "xxxxxxxxxxxx", "updatedAt": "2026-01-01T00:00:00.000Z", "updatedBy": "xxxxxxxxxxxx", "publishedAt": "2026-01-01T00:00:00.000Z" }, "title": "sample-image.jpg", "description": "", "altText": "", "tagIds": [], "file": { "name": "sample-image.jpg", "mimeType": "image/jpeg", "src": "https://xxxxxxxx.assets.cross-cms.com/beta/cms/assets/image?apiKey=xxxxxxxx&imageId=xxxxxxxx", "size": 999, "width": 999, "height": 999 } }}オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| 複数選択 | 有効化時に、複数の画像を入力できるようになります |
| 最大アイテム数(複数選択が有効時) | 設定したアイテム数を超えた場合に、コンテンツの公開(保存して公開)ができなくなります |
| 最小アイテム数(複数選択が有効時) | 設定したアイテム数未満の場合に、コンテンツの公開(保存して公開)ができなくなります |
4. ファイル
入力インターフェース

メディアライブラリからも選択できます

サンプルデータ
{ "file": { "id": "xxxxxxxxxxxx", "sys": { "createdAt": "2026-01-01T00:00:00.000Z", "createdBy": "xxxxxxxxxxxx", "updatedAt": "2026-01-01T00:00:00.000Z", "updatedBy": "xxxxxxxxxxxx", "publishedAt": "2026-01-01T00:00:00.000Z" }, "title": "sample-movie.mp4", "description": "", "altText": "", "tagIds": [], "file": { "name": "sample-movie.mp4", "mimeType": "video/mp4", "src": "https://xxxxxxxx.assets.cross-cms.com/beta/cms/assets/asset?apiKey=xxxxxxxx&assetId=xxxxxxxx", "size": 999 } }}許可するファイルタイプ
画像、動画の選択肢からアップロードを許可するファイルタイプを指定できます。
オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| 複数選択 | 有効化時に、複数の画像を入力できるようになります |
| 最大アイテム数(複数選択が有効時) | 設定したアイテム数を超えた場合に、コンテンツの公開(保存して公開)ができなくなります |
| 最小アイテム数(複数選択が有効時) | 設定したアイテム数未満の場合に、コンテンツの公開(保存して公開)ができなくなります |
5. リッチテキスト
入力インターフェース

サンプルデータ
{ "body": { "text": "Sample Rich Text", "html": "<h1>Sample Rich Text</h1>", "json": { "type": "doc", "content": [ { "type": "heading", "attrs": { "level": 1 }, "content": [ { "type": "text", "text": "Sample Rich Text" } ] } ] } }}入力タイプ
リッチテキストフィールドに表示される「太字」「斜体」などのフォーマットのうち、有効にするものを制御できます。
埋め込み設定
「埋め込み」の入力タイプで本文に挿入した、外部サービスのコンテンツの表示に関する設定です。遅延読み込みを有効にすると、埋め込んだコンテンツを遅延読み込みし、ページの初期表示の負荷を抑えられます。
カスタムクラス設定
本文中の要素に任意のクラスを付与する機能です。 クラスの選択肢をあらかじめ登録ておくと、入力時にその中から選んで要素に適用できます。付与したクラス名は取得時のHTMLにも反映されるため、フロントエンド側のCSSと対応づけて見た目を制御できます。
オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| 最大文字数 | 設定した文字数を超える文字列を入力した際に、コンテンツの公開(保存して公開)ができなくなります |
| 最小文字数 | 設定した文字数未満の文字列を入力した際に、コンテンツの公開(保存して公開)ができなくなります |
文字数は、通常の文字に加えて本文中の要素も次のルールでカウントされます。
- リンク: テキスト部のみカウントします
- 画像、埋め込み、水平線: それぞれ1文字としてカウントします
- テーブル: 内部の文字数のみカウントします
6. 日付
入力インターフェース

サンプルデータ
{ "date": "2026-01-01T00:00:00.000Z"}入力タイプ
| 入力タイプ | |
|---|---|
| 日時 | 入力インターフェースに、日付と時刻が表示されます。保存されるデータはISO8601の形式で、UTCの日時となります。「2026年6月3日17:00」と入稿した場合は、「2026-06-03T08:00:00.000Z」となります。 |
| 日付のみ | 入力インターフェースに、日付のみが表示されます。保存されるデータはISO8601の形式で、UTCの日時となります。「2026年6月3日」と入稿した場合は、「2026-06-02T15:00:00.000Z」となります。 |
オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
7. チェックボックス
入力インターフェース

サンプルデータ
{ "check": true}入力タイプ
| 入力タイプ | |
|---|---|
| チェックボックス | 入力インターフェースが、チェックボックスとなります |
| ラジオボタン | 入力インターフェースが、ラジオボタンとなります |
8. 選択
入力インターフェース

サンプルデータ
{ "select": "optionA"}フォームの選択肢
フォームの選択肢として、ラベルと値を指定できます。
オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| 複数選択 | 有効化時に、複数の選択肢を選択できるようになります |
| 最大アイテム数(複数選択が有効時) | 設定したアイテム数を超えた場合に、コンテンツの公開(保存して公開)ができなくなります |
| 最小アイテム数(複数選択が有効時) | 設定したアイテム数未満の場合に、コンテンツの公開(保存して公開)ができなくなります |
9. 参照
入力インターフェース

サンプルデータ
参照先のコンテンツのidが入ります。
{ "reference": "xxxxxxxxxxxx"}参照先モデル
参照先のモデルを指定します。
オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| 複数選択 | 有効化時に、複数の参照を入力できるようになります |
| 最大アイテム数(複数選択が有効時) | 設定したアイテム数を超えた場合に、コンテンツの公開(保存して公開)ができなくなります |
| 最小アイテム数(複数選択が有効時) | 設定したアイテム数未満の場合に、コンテンツの公開(保存して公開)ができなくなります |
10. 地図
入力インターフェース

サンプルデータ
{ "map": { "lat": 35.669769837176496, "lng": 139.76417183876038 }}オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| デフォルトビュー | 設定した中心座標とズームレベルが、入力時のデフォルト表示となります |
11. マルチタイプ
入力インターフェース

サンプルデータ
{ "multiType": { "type": "TEXT", "data": "Sample Multi Type Text" }}使用できるフィールドタイプ
入力時に選択可能なフィールドタイプを指定します。
オプション
| 概要 | |
|---|---|
| 必須フィールド | 有効化時に、入力がない場合はコンテンツの公開(保存して公開)ができなくなります |
| 複数選択 | 有効化時に、複数のタイプを入力できるようになります |
| 最大アイテム数(複数選択が有効時) | 設定したアイテム数を超えた場合に、コンテンツの公開(保存して公開)ができなくなります |
| 最小アイテム数(複数選択が有効時) | 設定したアイテム数未満の場合に、コンテンツの公開(保存して公開)ができなくなります |
カスタムフィールドタイプ
カスタムフィールドタイプは、1つ以上のフィールドによって構成されるオブジェクト型のフィールドタイプです。いくつかのデフォルトフィールドタイプと他のカスタムフィールドタイプを組み合わせることで、カスタムフィールドタイプを作ることができます。
たとえば「リンク」を「表示テキスト」と「URL」の2つのフィールドの組み合わせとして定義しておくと、複数のモデルから同じ構造のフィールドとして繰り返し利用できます。
管理画面での操作
モデルとフィールドはKARTE Craftの管理画面から作成、編集できます。
- KARTE管理画面にログインし、[すべてのメニュー]>[Craft]>[コンテンツ設定]を選択すると、コレクション設定画面が開きます
- モデルを作成する場合は、対象のコレクションの中で[モデルを追加]を選択します
- モデルを編集する場合は、対象のモデルをクリックし、[フィールド設定]または[モデル設定]から編集します