例
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
RSS形式を使って、各シンジケーションエントリに複数のトピックカテゴリを関連付けることができます。カテゴリの一覧を、カテゴリ定義アイテムを含むフォルダとして管理できます。
シンジケートされた項目のデータテンプレートに選択フィールドを追加すれば、CMSユーザーが任意の数のカテゴリ定義項目を選択できます。各シンジケーションエントリにカテゴリを含めることで、カテゴリ定義項目の名前をSystem.ServiceModel.Syndication.SyndicationItem.Categoriesリストに入力できます。
以下の例を基に、シンジケーションエントリーのカテゴリを含むカスタムフィードを実装できます。
-
Visual StudioのWebアプリケーションプロジェクトでは、以下の例に基づいてクラスを追加します。
namespace Sitecore.Sharedsource.Syndication {
using System.ServiceModel.Syndication;
public class CategorizedFeed: Sitecore.Syndication.PublicFeed
{ protected override SyndicationItem RenderItem(Sitecore.Data.Items.Item item) { Sitecore.Diagnostics.Assert.ArgumentNotNull(item, "item"); SyndicationItem entry = base.RenderItem(item); Sitecore.Data.Fields.MultilistField entries = item.Fields"Categories"; if (entries != null) { foreach(Sitecore.Data.Items.Item category in entries.GetItems()) { if (category != null) { entry.Categories.Add(new SyndicationCategory(category.Name)); } } } return entry; } } }
-
コンテンツエディターのフィード定義項目の拡張性セクションのTypeフィールドで、.NET型の署名を入力します。例えば
.Sharedsource.Syndication.CategorizedFeed, Assembly -
コンテンツエディターでカテゴリ定義アイテムを含むフォルダを作成します。
-
テンプレートマネージャーまたはコンテンツエディターのシンジケーションエントリに使われるデータテンプレートで、「カテゴリ」という選択フィールドを追加し、そのカテゴリフィールドの****ソースプロパティを、前ステップで作成したカテゴリ定義アイテムを含むフォルダに設定します。
-
コンテンツエディターのシンジケーションエントリーのカテゴリ欄で、関連するカテゴリを選択します。
!ヒントCategoriesフィールドを含むデータテンプレートを作成し、そのデータテンプレートをシンジケーションをサポートするテンプレートのベーステンプレートとして追加してください。