microCMS

複数画像

複数画像フィールドは、複数の画像を管理するためのフィールドです。カルーセル表示や、記事内のフォトギャラリーなどを構築する際に適しています。

データの入稿方法

複数画像フィールドに画像をアップロードしている操作

  • 画像の選択方法は画像フィールドと同様です。
  • 複数画像フィールドの場合は複数の画像を一度にドラッグ&ドロップでアップロードできます。
  • 選択した画像の順番はドラッグ&ドロップで変更可能です。


API、CSVを利用した入稿については以下のドキュメントをご参照ください。

POST /api/v1/{endpoint}
https://document.microcms.io/content-api/post-content#he86fa74310
コンテンツのCSVインポート
https://document.microcms.io/manual/csv-import#h2b3036ae9c

設定項目

説明

必須項目

設定をONにすると入稿時の入力が必須となります。

説明文

入稿画面に表示する説明文です。

画像のサイズ制限

画像のwidthheightの値を制限します。指定したサイズに合致しない場はエラーとなります。

レイアウト

管理画面での表示を設定します。デフォルトはスクロールで2~4カラムで設定できます。

GET APIのレスポンス形式

詳細は以下のドキュメントをご参照ください。

GET APIのフィールドごとのレスポンス形式
https://document.microcms.io/content-api/get-api-field-responses#hf32a2f5806

フロントエンドでの利用方法

複数画像フィールドは、画像情報(url, width, height, alt)を持つオブジェクトの配列として返却されます。配列を順に処理し、各要素の情報をコンポーネントに渡すことで表示します。

export default async function Page({ params }) {
  const { slug } = await params;

  // microCMS JavaScript SDK(https://github.com/microcmsio/microcms-js-sdk)を使用してデータを取得
  const data = await client.getListDetail({
    endpoint: "blog",
    contentId: slug,
  });

  return (
    <main>
      {/* imageListはフィールドIDです。実際のフィールドIDに置き換えてください */}
      {data.imageList.map((image,index) => (
        <Image
          key={index}
          src={`${image.url}?w=800&fm=webp`} // 画像APIを指定
          alt={image.alt || ""}
          width={image.width}
          height={image.height}
        />
      ))}
    </main>
  );
}