1. データテンプレート

データ定義とテンプレートの概要

Version:
日本語翻訳に関する免責事項

このページの翻訳は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フィールドを設定するか、新しく作成されたアイテムにデータを入力するデフォルト値です。

この記事を改善するための提案がある場合は、 お知らせください!