参考
要約
Netlify CMSの管理画面の投稿一覧に表示されるタイトルは、 collection の設定の identifier_field
の値で設定が可能です。
本文
Netlify CMSで管理画面の投稿一覧に表示されるタイトルには、デフォルトだと string
widget になっている title
field が表示されます。
config.yaml
- name: "blog"
label: "Blog"
...
fields:
- {label: "Title", name: "title", widget: "string", default: "デフォルトのタイトル"}
- {label: "Slug", name: "slug", widget: "string", default: "default-slug"}
...
このタイトルに表示される field は identifier_field
を設定することで変更できます。
config.yaml
- name: "blog"
label: "Blog"
identifier_field: slug
...
fields:
- {label: "Title", name: "title", widget: "string"}
- {label: "Slug", name: "slug", widget: "string", default: "default-slug"}
...
そのため、例えば以下のように、「投稿画面で編集はさせたくないけど一覧のタイトル用に値を持っておきたい」といった場合に hidden
widget の field を identifier_field
に指定することで、投稿画面では非表示の値を一覧のタイトルとして表示させることが可能です。
config.yaml
- name: "blog"
label: "Blog"
identifier_field: title
...
fields:
- {label: "Title", name: "title", widget: "hidden", default: "投稿一覧に出るタイトル"}
- {label: "Slug", name: "slug", widget: "string", default: "default-slug"}
...
注意点
- collection 上に存在しない field を identifier_field で取得しようとするとタイトルは空になります。
-
string
widget になっているtitle
field かidentifier_field
のどちらかがないと、新規投稿時に「記事を判別するための field が必要だよ」と怒られます。既存の記事を更新する時には警告が出ないことに要注意です。
identifier_field
の仕様をよく理解できておらず多少ハマったので覚え書きでした。