データ定義とテンプレートの概要
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Webサイトを設定するとき、最初のステップはデータ構造を作成することです。Sitecoreでは、データ構造の作成とは、データ テンプレートの作成、標準値の定義、挿入オプションの割り当て、およびコンテンツ アイテムの作成を意味します。そして、これを行うには、Sitecoreの1つの基本的な概念であるテンプレートを中心に展開します。テンプレートは、コンテンツpresentationとは何の関係もありません。代わりに、コンテンツのstructureを決定します。テンプレートは、他のアイテムの構造と動作の両方を定義するアイテムです。Sitecoreには、次のようなさまざまなタイプのテンプレートがあります。
-
データ テンプレートは、データの入力方法を制御するために使用されるフィールドを定義します。これらは、各アイテムを構成する正確なフィールド セクション、フィールド タイプ、およびフィールド名を決定します。言い換えれば、データテンプレートは、アイテムが構築されるフレームワークを形成します。
Sitecoreは、データ テンプレートをコンテンツ ツリー内のすべてのアイテムに関連付けます。ユーザーに表示される編集コントロールを決定する のはフィールド タイプ であり、データベースに格納される未加工の値が含まれています。
-
ブランチ テンプレートを使用すると、1つのアイテムではなく、一連のアイテムを作成できます。ブランチ テンプレートは、ブランチ テンプレート定義アイテムで構成され、1つのアイテム、アイテムの階層、またはアイテムの複数の階層を含めることができます。ブランチ テンプレートを使用すると、Sitecoreはブランチ テンプレート定義アイテムの下のアイテム (フィールド値を含む) を複製し、アイテム名とフィールド値のトークンを解決します。
-
コマンド テンプレートを使用すると、定義済みの構造ではなくロジックを使用して項目を挿入できます。
Sitecoreのもう1つの重要な概念は、テンプレートの継承です。テンプレートは、1つ以上の 基本テンプレートから継承します。たとえば、データ テンプレートは、基本テンプレートからセクションとフィールドを継承します。データ テンプレートが他のテンプレートから継承すると、すべてのフィールドがマージされます。テンプレートの継承に関するガイドラインについては、Helixのドキュメントに、テンプレート階層の例については 「テンプレートの継承の例」を参照してください。
すべてのデータ テンプレートは 、標準テンプレートから継承されます。標準テンプレートにはフィールドは含まれていませんが、他の多くのテンプレートから継承されます。標準テンプレートに継承されたすべてのフィールドは、__Ribbonや __Trackingのようにアンダースコアで始まります。
すべてのテンプレートは、CoreデータベースではなくMasterデータベースに作成する必要があります。
推奨されるプラクティス
推奨されるプラクティス
テンプレートを使用する場合は、次のベスト プラクティスに留意してください。
-
データ テンプレートをサイト別に整理します。コンテンツツリー(sitecore/Templates)で、各サイトのフォルダーを作成し、テンプレートを追加します。
-
わかりやすいデータ テンプレート名を使用すると、コンテンツ作成者が新しい項目を挿入してデータ テンプレートの名前を確認したときに、テンプレートの目的を理解できます。同様に、類似したフィールドをグループ化するフィールドセクションには、意味のある名前を付けます。
-
フィールドとフィールド セクションにはunique名前を使用します。これは、継承された基本テンプレートからマージされるためです。
-
コンテンツ作成者に表示されるデータ テンプレートにアイコンを割り当てると、アイテムの作成元となるデータ テンプレートのタイプを簡単に識別できます。同様に、フィールドセクションにアイコンを割り当てます。
-
テンプレートの継承を使用して、重複を減らします。複数のデータ テンプレート間で共有されるフィールドは、基本テンプレートにグループ化して継承できます。たとえば、すべてのページには、ページタイトル(ブラウザのタイトルバーに表示される)とメタディスクリプションがあります。これらの種類のフィールドは、ページ メタデータとしてグループ化できます。同様に、ほとんどのページには概要情報とメインコンテンツがあります。
-
冗長なフィールド (たとえば、継承されるが、データ テンプレートによって使用されないフィールド) は避けてください。
-
特定のフィールド名を定義します (単にHeadingではなくPage Summary Headingなど)。フィールド コンテンツをレンダリングするすべてのヘルパーとコントロールは、最終的にFieldRendererパイプラインを通過し、IDではなくフィールドの名前が必要です。
-
フィールド名は、場所ではなくコンテンツ タイプに基づいて定義します。これは、コンテンツは再利用されることが多く、必ずしも1つの場所にしか表示されないとは限らないためです。
-
フィールドを翻訳する必要があり、各バージョンを追跡する必要がある場合は、フィールドをバージョン対応フィールドにします。フィールドを翻訳する必要があるが、各バージョンを追跡する必要がない場合は、フィールドをバージョン非対応のフィールドにします。
-
複数のフィールドが同様のコンテンツを使用する場合は、フィールドトークン ( $name、$id、$timeなど)を使用します。トークンは、データ テンプレートの標準値で定義され、問題のフィールドがバージョン対応またはバージョン非対応の場合は、すべての言語で行う必要があります。トークンは、アイテムが作成された瞬間に置き換えられます。
-
フィールドのデフォルトを標準値に設定します。標準値を使用すると、新規に登録されたアイテムにデフォルトデータが自動的に挿入されるようにすることができます。標準値は、既存のアイテムのnullフィールドを設定するか、新しく作成されたアイテムにデータを入力するデフォルト値です。