【設計】microCMSの繰り返しフィールドが便利!

  • このエントリーをはてなブックマークに追加
  • LINEで送る

こんにちは!りょた(@Ryo54388667)といいます(^o^)

今回はmicroCMSの繰り返しフィールドについて書いていきます。

  • microCMSについて知りたい。
  • microCMSの管理画面の設計を考えている。
  • 繰り返しフィールドの使い方を知りたい。

こんな人に読んでいただけると幸いです!

要件

microCMSで遊んでみたので、備忘録として書いていきます。

まず、とあるWebページの要件は以下の条件があるとします。

  1. ページのタイトルや目次の位置はどのページも同じ
  2. ただしページによって、パーツが異なる。例えば、CTAの有無、テキストコンテンツの有無など。
  3. パーツの順番が異なる。

こういった条件のページの作成要件を満たす機能が繰り返しフィールドです。

僕は、最初、設計の段階で
「パーツの順番が違うだけで一本のAPIを作らないといけないの!?ページのぶんだけAPI必要なのか。。。」

そんなことを考えていました。フィールドを固定してしまうと、いくつもAPIを作成する必要があります。

そんな課題を解決してくれるのが「繰り返しフィールド」です!
これがドチャクソ便利なのでぜひ使ってみてください。



microCMSの管理画面の準備

まずは適当にAPIを作成します。
最初はフィールド設定で繰り返しフィールドは選択できないので、固定のパーツである、「タイトル」「目次」のフィールドを作成します。

その後、「カスタムフィールドを追加」のボタンを押し、ここにフィールドを作成します。
ここに目次の下部に配置される予定のパーツを全て登録していきます。例として「CTA」「テキストコンテンツ」「テキストリンクリスト」「画像コンテンツ」のフィールドを設定していきます。

その後、「追加」のボタンを押し、ここにフィールドを作成します。
ここに目次の下部に配置される予定のパーツを全て登録していきます。例として「画像プラステキスト」「テキストコンテンツ」「テーブル」「フォーム」のフィールドを設定していきます。

ここで、「API設定」ボタンを押下し、「APIスキーマ定義」の項目を押下します。

「新たなフィールドを追加」を押し、フィールド設定の部分のセレクトをすると、先ほど押下できなかった「カスタムフィールド」を設定できるようになっています。
そこを押下し、候補となるコンテンツのチェックボックスが表示されるので、該当するものにチェックを入れます。そして保存します。

再び、APIのコンテンツ入稿ページに戻ると、先ほど設定した「繰り返しフィールド」が利用可能となっています。

これの便利な点が2点あります。

  • まず順番を自由に選べるということ
  • 続いてページによって必要なコンテンツだけAPIに設定できること

これです!これが便利なんですよねー。
このCMSを触るのはエンジニアというよりライターさんがメインだと思います。ライターさんでもわかりやすいUIになり、ライターフレンドリーなmicroCMSの設計だと思います。
僕が当初のまま、ページのぶんだけAPIを作成していたら、ライターさんは、どのAPIがどのページ用で利用すればいいか全くわからなくなっていたと思います。

これでmicroCMSの管理画面の準備は終わりです。

フロントの準備

あとは何も難しいことはありません。
APIのスキーマに合わせて、フロントでは出しわけ処理を行えばよいだけです。
これはNext.jsの一例です。繰り返しフィールドは、配列でレスポンスされるので、それをmapで回しています。

 {data.main.map((content, index) => (
          <>
            {content.fieldId === "content-index" && (
              <section
                style={{
                  border: "solid red 5px",
                  padding: "0 20px",
                  margin: "30px 0",
                }}
              >
                {content.title}
              </section>
            )}
...

最終的にはこんな感じの画面になりました!

microCMSを触り始めて間もないですが、繰り返しフィールドを作成してみました!

設計の参考になれば幸いです。

最後まで読んでいただき、ありがとうございます!

フロントまわりの技術記事も書いていますので、興味のある方はこちらも合わせて見てみください〜

  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメント

Comments are closed.