例: シンジケーションエントリカテゴリ

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

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

RSS形式を使用して、各シンジケーション項目に複数のトピック・カテゴリーを関連付けることができます。カテゴリの一覧は、カテゴリ定義項目が格納されたフォルダとして管理できます。

シンジケート項目の各データ・テンプレートに選択フィールドを追加して、CMSユーザーが任意の数のカテゴリー定義項目を選択できるようにすることができます。各シンジケーション・エントリーにカテゴリーを含めるには、System.ServiceModel.Syndication.SyndicationItem.Categories ・リストにカテゴリー定義項目の名前を取り込みます。

次の例に基づいて、シンジケーションエントリのカテゴリを含むカスタムフィードを実装できます。

  1. 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;
    		}
    	}
    }
  2. コンテンツ エディターのフィード定義アイテムの 拡張性 セクションの 種類 フィールドに、.NET型のシグネチャを入力します。例えば:Sitecore.Sharedsource.Syndication.CategorizedFeed, Assembly

  3. コンテンツ エディターで、カテゴリ定義アイテムを含むフォルダーを作成します。

  4. テンプレート マネージャーまたはコンテンツ エディターで、シンジケーション エントリに使用するデータ テンプレートに[Categoriesという名前の選択フィールドを追加し、Categoriesフィールドの[Sourceプロパティを、前の手順で作成したカテゴリ定義アイテムを含むフォルダーに設定します。

  5. コンテンツエディターのシンジケーションエントリの「カテゴリ」フィールドで、関連するカテゴリを選択します。

先端

Categoriesフィールドを含むデータ テンプレートを作成し、そのデータ テンプレートをシンジケーションをサポートするテンプレートの基本テンプレートとして追加します。

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