CMS:データセットを使用して複数のデータベースコレクションのコンテンツを表示する方法について

読了時間:3分
このトピックの解説記事はこちらにあります。
データセットでフィルターを適用すると、コレクション自体が接続されていなくても、複数のコレクションの関連情報を同じページに表示できます。

たとえば、次のようなページを表示したい場合に役立ちます。
  • 同じアルバムまたはアーティストに関連付けられているすべての楽曲。
  • 特定の料理とその料理の説明に関連する、コレクション内のすべてのレシピ。

また、データセットによるフィルタリングはコレクション内の複数のアイテムに関連する情報がある場合に便利です。データセットを利用することで、不要なデータの複製を回避できます。

たとえば、ユーザーがリストから料理を選択すると、コレクションからその料理の説明と関連するすべてのレシピが表示されるページがあるとします。
この例では不要な重複を避けるため、料理の説明をレシピとは別のコレクションに保存しました。 レシピコレクションには、各レシピの料理を保存する「料理」というフィールドがありますが、説明は含まれていません。 料理コレクションには、各料理の名前とそれに紐付く説明が保存されています。
重要:
両方のコレクションの値が同じであることを必ず確認してください。 値が異なると、フィルターをかける際に適切なアイテムを見つけることができません。

ページの設定

ページに、レシピに関する情報を表示する要素を追加します。 この例では料理のリストを表示するテーブル、料理の説明を表示するテキスト要素、選択した料理のレシピを表示するギャラリーを使用しました。
注意
データセットでフィルターを適用している場合、セカンダリデータセットのフィールドはメインデータセットの現在のアイテム値にリンクされます。 そのため、メインデータセットのアイテムを切り替えるためのページ要素を追加する必要があります。 ここではテーブルを使用しましたが、たとえば「前へ」ボタンや「次へ」ボタンを使用することもできます。

データセットを追加する

次にデータセットを追加します。 まずはメインとなる料理データセットを追加します。 そして、セカンダリデータセット(この場合は「レシピデータセット」)を追加し、それに料理データセットでフィルターを適用して、レシピデータセットの「料理」フィールドの値が料理データセットの「料理名」フィールドの値と一致するようにします。

要素を接続する

最後に、コレクションの情報を表示するときと同じように画面要素をデータセットに接続します。
  • テーブルとテキスト要素は料理データセットに接続します。 これで、料理のリストと選択した料理の説明が表示されます。
  • ギャラリー要素はフィルタリングされた料理データセットに接続し、選択した料理に紐付く画像を表示させます。

お役に立ちましたか?

|