CMS:コレクション構造を計画する
読了時間:4分
この記事では、CMS(コンテンツ管理システム)コレクションを追加する前に考慮すべき点をいくつか紹介します。
覚えておくべき最も重要な点は、一般的に情報を複製することは推奨されないということです。時間とスペースを無駄にし、情報に誤りや矛盾が生じる可能性も高まります。データの重複を避ける最善の方法は、件名と権限レベルに基づいて情報を異なるコレクションに分割することです。
覚えておくべき最も重要な点は、一般的に情報を複製することは推奨されないということです。時間とスペースを無駄にし、情報に誤りや矛盾が生じる可能性も高まります。データの重複を避ける最善の方法は、件名と権限レベルに基づいて情報を異なるコレクションに分割することです。
重要:
コレクションの権限がサイトのセキュリティにどのように影響するかについては、こちらの概要をご覧ください。
コレクション構造を計画する
データベースコレクションを作成する前に、まずその目的を明確にし、それに沿った形でデータベースコレクションの計画を立てましょう。
- まず、サイトの目的を明確にすることから始めます。どのような情報を保存するのか、またはユーザー入力を収集するのかなどを確認します。たとえば、「お気に入りのレシピを紹介するサイトで、訪問者が登録して有料会員になることもできる」といった形です。
- 保存するデータの種類と、それらがどのように組み合わされるかについて考えます。訪問者にどのようにデータを表示する予定ですか?動的ページを作成しますか?各コレクションはどのように相互機能しますか?
- 各コレクションの情報を使用できるユーザーを決定し、それぞれのユーザーに適切な権限を与えます。訪問者はコレクション内の情報を閲覧するだけですか?それとも、訪問者が情報を追加・変更できる機能を提供しますか?
以上でコレクションを作成する準備が整いました。
コレクションとフィールドに名前を付ける
よく考慮した上で、コレクションとフィールドの名前を付けましょう。要素を接続する(または、Velo by Wix を使う場合はそのためのコードを記述する)際は、名前を明確にしておくことが重要です。コレクション名とフィールド名は、要素をデータに接続するときにエディタに表示されるため、一目でわかる名前にしましょう。
作成したコレクションの名前は後から変更できません。
作成したコレクションの名前は後から変更できません。
Velo by Wix ユーザー:フィールド名は変更できますが、フィールド ID の名前は変更できません。フィールド ID はコードを書くときに使用するものなので、簡単に識別できる名前にしてください。
固有の動的 URL を作成する
コレクション内にあるデータの動的アイテムページを作成する場合は、各アイテムを一意に識別する値を持つフィールドが 1つ以上必要となります。この値をもとに、各ページに固有の URL が設定されます。
たとえば、コレクション内にある各レシピに関する情報を表示する動的アイテムページを作成するとします。このレシピコレクションにチョコレートケーキのレシピが複数あり、それらをすべて「チョコレートケーキ」と呼ぶ場合は、それらの動的ページがすべて同じ URL を持つことになります(例:mysite/recipes/chocolate-cake)。しかし、これでは動的ページに表示されるチョコレートケーキのレシピを制御することはできません。
これは、特定のコレクションに関連付ける参照フィールドを作成する場合も同様です。この場合も、コレクション内のプライマリフィールドに一意の値を設定して、参照フィールドで正しいアイテムを選択できるようにする必要があります。
たとえば、コレクション内にある各レシピに関する情報を表示する動的アイテムページを作成するとします。このレシピコレクションにチョコレートケーキのレシピが複数あり、それらをすべて「チョコレートケーキ」と呼ぶ場合は、それらの動的ページがすべて同じ URL を持つことになります(例:mysite/recipes/chocolate-cake)。しかし、これでは動的ページに表示されるチョコレートケーキのレシピを制御することはできません。
これは、特定のコレクションに関連付ける参照フィールドを作成する場合も同様です。この場合も、コレクション内のプライマリフィールドに一意の値を設定して、参照フィールドで正しいアイテムを選択できるようにする必要があります。
スプレッドシートからデータをインポートする
アイテムを並べ替えるフィールドを追加する
特定の順番でアイテムを表示したいが、並び替えに使えるフィールドがない場合は、それ専用の番号フィールドを追加することができます。たとえば、レシピをアルファベット順以外の特定の順番で整理したい場合は番号カラムが役立ちます。
参照フィールドを使用する
参照フィールドは、コレクション内の定義に従って、コレクション間の接続を作成します。各参照フィールドは特定のコレクションに関連付けられ、フィールド内にはそのコレクションから取得した値が表示されます。
参照フィールドを使用する利点は 3つあります。まず、参照先コレクションから直接値が取得されるため、コレクション間でデータの整合性を保つことができる点。次に、データの重複を防ぐことができる点。そして、動的に情報を表示する場合、参照フィールドによって参照先コレクションとメインコレクションの両方の情報にアクセスすることができる点です。これにより、マスター / 詳細ページを正しく効率的に作成することができるようになっています。
ユーザー入力を保存する際の注意点
ユーザー入力フォームを作成する場合は、ユーザーが入力した情報を保存するためのコレクションが必要です。各フォームを接続する専用のコレクションを 1 つ作成し、それぞれのユーザー入力要素をそのコレクション内のフィールドに接続する方法が最も一般的です。
まずはユーザーから収集したい情報の種類を考慮し、それに応じてフォームとデータベースコレクションを設計します。ドロップダウンリストを配置したい場合は、リスト内の値を保存する場所を用意しましょう。ニュースレターに新規登録するかどうかのオプションを選択してもらいたい場合は、チェックボックスに接続するブーリアン型のフィールドが必要です。
また、ユーザー入力を保存するコレクションに適切な権限を設定して、ユーザーが情報を保存できるようにします。
まずはユーザーから収集したい情報の種類を考慮し、それに応じてフォームとデータベースコレクションを設計します。ドロップダウンリストを配置したい場合は、リスト内の値を保存する場所を用意しましょう。ニュースレターに新規登録するかどうかのオプションを選択してもらいたい場合は、チェックボックスに接続するブーリアン型のフィールドが必要です。
また、ユーザー入力を保存するコレクションに適切な権限を設定して、ユーザーが情報を保存できるようにします。
お役に立ちましたか?
|