2011-12-15 4 views
0

私のサイトには多くのページがあり、ほとんどのページにはタイトル、説明、サムネイルを持つ単純なビジュアルエレメントのインスタンスが1つ以上あるとします。ページ上のこれらの要素の数は可変である。データテンプレートを作成するにはどうすればよいですか?Sitecore - ウェブページ上に同じタイプの複数のアイテム

理想的には、データフィールドが近い将来変更される可能性があるため、この要素の個別のデータテンプレートを作成したいと考えています。私はこのテンプレートを私のページの基本テンプレートとして使用したいと思いますが、それは私にはデータセクションの1つのインスタンスしか使えません。

もう1つの要件は、これらの要素がページ上に論理的にグループ化されていないことです。ページ上のどこにでも表示され、ページエディタは自由に挿入して削除できるはずです。

これまでのSiteCoreでの私の経験は、Webページは剛性のあるデータテンプレートに基づいているため、流体のページを作成するのは簡単に処理されないということです。私は製品にかなり新しいので、何かが欠けているかもしれません。

+0

新しいテンプレートを作成し、それをベースページテンプレートに継承させることができます。すべてのページに共通の情報がある場合は、テンプレートに標準値を設定する必要があります。次に、標準値を変更することができます。また、継承されたすべてのテンプレートにも値が変更されています。 – mslot

+0

お返事ありがとうございます。私はあなたが私が尋ねたものではないがそれに答えることを理解する。私がやっていることの別の例... make/model/imageを持つ車のデータテンプレートがあり、任意のページに1つ以上の車を任意の順序で、ページの他の要素の上または下に配置したいとします。どのようにビルドするかは、ページテンプレートです。私は単に車のテンプレートから継承することはできません。 – user1100602

答えて

4

これは、通常の.NET UserControlであるサブレイアウトを作成し、コントロールのデータを設定する一意の「データソース」テンプレートを作成することで可能です。たとえば、レンダリングに必要なフィールドを持つ吹き出しデータソース項目が必要な簡単な吹き出しサブレイアウトを作成できます。

私はこのことについてブログ記事を書いた:Using the DataSource Field with Sitecore Sublayouts

+0

素晴らしい投稿あり – user1100602

+0

マーク:(for sitecore 8.0)サブレイアウトのテンプレート変更は、テンプレートが変更される前に作成された複数の項目に影響しますか、またはこれらの項目のテンプレートを設定タブで手動で変更する必要がありますか? –

0

我々が車のテンプレートのアナロジーを使用する場合:

  1. データとして
  2. モデル
  3. 画像

を行い、その後、あなたは「車のリストと呼ばれるルートアイテムを持つことができますあなたのサイトコアの木の中で。その後、何台もの車を作ることができます。 特定のページに車を追加する場合は、ページを作成したテンプレートでsitecore treelistを追加して、その場所のソースをカーリストにすることができます。特定のページで選んだ自動車を参照できるようになりました。次に、ツリーリストアイテムを抽出してページに表示できるモジュールを作成できます。これはtreelistアイテムが他のアイテムとまったく同じであるため、非常に簡単です。 これについては、車に標準値を設定し、変更すると、すべてのページのすべての車で値が変更されることをお勧めします。

0

あなたは、コンテンツのブロック要素(タイトル+説明+視覚的な)のために別々のデータテンプレートを作ることができます。

次に、ページアイテムの下に、コンテンツ要素を含むフォルダ(たとえば、コンテンツブロック)を作成します。

ページをレンダリングするときは、コンテンツブロックフォルダからアイテムをロードし、ページ上にレンダリングするだけです(例:リピータを使用)。

コンテンツブロックを追加/削除するだけで表示するコンテンツブロックを並べ替えることができ、いつでも新しいフィールドを追加することができます。

論理的にグループに配置されていない場合は、ページに表示する場所を指定するフィールドをコンテンツブロックに追加できます。

関連する問題