複数コンテンツ参照は、別のAPIで管理している複数のコンテンツを紐付けることができるフィールドです。
記事に対して複数のカテゴリを紐付けたり、関連記事を複数選択して紐付けたりするなど、情報の共通化やリレーションを持たせる際に利用します。

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

特定のコンテンツが他のコンテンツから参照されている場合、コンテンツ詳細画面の右上に[被参照n件]というボタンが表示されるので、現在の被参照数を確認することができます。
このボタンをクリックすると、そのコンテンツを引用している参照元のコンテンツ一覧がモーダルウィンドウで表示されます。
設定項目 | 説明 |
|---|---|
必須項目 | 設定をONにすると入稿時の入力が必須となります。 |
説明文 | 入稿画面に表示する説明文です。 |
参照先コンテンツ | 参照するAPIを選択します。新規作成時のみ選択が可能です。 |
一覧画面に表示する項目 | コンテンツ一覧画面に表示する項目をコンテンツID、またはテキストフィールドの項目から選択できます。指定した項目が存在しない場合は、コンテンツIDが代わりに表示されます。 |
複数コンテンツ参照の数を制限する | 選択できるコンテンツの最小数と最大数を設定します。 |
詳細は以下のドキュメントをご参照ください。
複数コンテンツ参照フィールドはオブジェクトの配列形式でデータが返されるため、ループ処理を用いて参照先の情報を表示します。
以下はNext.jsで、記事詳細ページに関連記事のリストを表示する実装例です。
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>
<h2>関連記事</h2>
<div>
{/* relatedArticles はフィールドIDです。実際のフィールドIDに置き換えてください */}
{data.relatedArticles.map((article) => (
<article key={article.id}>
<Link href={`/blog/${article.id}`}>
<Image
src={article.eyecatch.url}
alt={article.eyecatch.alt || ""}
width={200}
height={120}
/>
<p>{article.title}</p>
</Link>
</article>
))}
</div>
</main>
);
}