---
title: "例:複数のアイテムの子をシンジケートする"
slug: "example--syndicate-children-of-multiple-items"
abstract: "RSSフィード用に複数のアイテムの子をシンジケートするためにSyndication APIを使う方法の例です。"
---
# 例:複数のアイテムの子をシンジケートする

以下の例を基に、フィード定義項目の「 Sources 」と名付けられたフィールドで選択されたすべてのアイテムの子をシンジケートするカスタムRSSフィードを実装できます。

1.  Visual StudioのWebアプリケーションプロジェクトでは、以下の例に基づいてクラスをコンパイルします。
    
    namespace Sitecore.Sharedsource.Syndication
    {
     public class SelectionFeed : Sitecore.Syndication.PublicFeed
     {
     public override System.Collections.Generic.IEnumerable<Sitecore.Data.Items.Item> GetSourceItem()
     {
     Sitecore.Data.Fields.MultilistField entries = this.FeedItem.Fields"Sources";
    
     if (entries == null || entries.Count < 1)
     {
     return new Sitecore.Data.Items.Item0;
     }
    
     Sitecore.Collections.ItemList list = new Sitecore.Collections.ItemList();
    
     foreach (Sitecore.Data.Items.Item parent in entries.GetItems())
     {
     foreach (Sitecore.Data.Items.Item child in parent.Children)
     {
     if (Sitecore.Syndication.FeedUtil.IsConfiguredForFeed(child))
     {
     list.Add(child);
     }
     }
    
     }
    
     if (list.Count < 1) {
     return new Sitecore.Data.Items.Item0;
     }
    
     list.Sort(new Sitecore.Data.Comparers.UpdatedComparer());
    
     return list.ToArray();
     }
     }
    }
    
2.  **テンプレートマネージャー**または**コンテンツエディター**、*System/Feeds/RSS*フィードデータテンプレートの**拡張性**セクションで、**Treelist**フィールド「**Sources**」を追加し、その**ソースプロパティを***/sitecore/content*項目に設定します。
    
3.  **コンテンツエディター**のフィード定義項目の拡張**性**セクションの**タイプ**フィールドで、クラスの署名を入力します:Sitecore.Sharedsource.Syndication.MultiParentFeed, Assembly
    
4.  **コンテンツエディター**のフィード定義項目、**拡張性**セクションの**ソース**欄で、子どもを含む項目を選択してシンジケートします。