Netlify CMSの管理画面の投稿一覧に表示されるタイトルを変更する

# 参考
https://www.netlifycms.org/docs/configuration-options/#collections

# 要約

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"}
    ...
```

<img width="700" alt="68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f313732352f323031392f30382f32382f34363431322f66623466373266642d653334362d346534312d383432362d3732343564333236653737332e706e67.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247023/ca8d1f8e-6ef9-3aa7-c835-d12da87cd812.png">

このタイトルに表示される 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"}
    ...
```

<img width="697" alt="68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f313732352f323031392f31312f31382f34363431322f63623232636632392d336134322d343261642d613963652d6237646139313830386561332e706e67.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247023/aa22afff-d232-214c-9a8a-0cdc5a778cee.png">


そのため、例えば以下のように、「投稿画面で編集はさせたくないけど一覧のタイトル用に値を持っておきたい」といった場合に `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"}
    ...
```

<img width="695" alt="68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f313732352f323031392f31312f31382f34363431322f63653264363463652d623231322d346134302d613566372d6530373866623739306665652e706e67.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247023/adee9f59-8dae-4e83-8d1c-0c42b0109af8.png">
<img width="1440" alt="68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f313732352f323031392f31312f31382f34363431322f65636536333065322d623764312d343335352d616263342d3666343763366634303137622e706e67.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247023/6a51c1d3-ceb3-d6c4-f5a2-5a51f4706be4.png">


# 注意点

- collection 上に存在しない field を identifier_field で取得しようとするとタイトルは空になります。

![68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f313732352f323031392f30382f32382f34363431322f30646231633231362d626135342d346637382d613539312d3634643233613338343164312e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247023/7caf4bf5-f0f2-2692-9785-c13463aaa93e.png)

- **`string` widget になっている `title` field** か **`identifier_field`** のどちらかがないと、新規投稿時に「記事を判別するための field が必要だよ」と怒られます。既存の記事を更新する時には警告が出ないことに要注意です。

<img width="820" alt="68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f313732352f323031392f31312f31382f34363431322f33646439366135322d306163352d343038382d386337662d3363363539653434383665642e706e67.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247023/5f129346-d975-0d27-b854-829d73c8f0a2.png">

`identifier_field` の仕様をよく理解できておらず多少ハマったので覚え書きでした。