例
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
以下の例を基に、フィード定義項目の「 Sources 」と名付けられたフィールドで選択されたすべてのアイテムの子をシンジケートするカスタムRSSフィードを実装できます。
-
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(); } } }
-
テンプレートマネージャーまたはコンテンツエディター、System/Feeds/RSSフィードデータテンプレートの拡張性セクションで、Treelistフィールド「Sources」を追加し、そのソースプロパティを*/sitecore/content*項目に設定します。
-
コンテンツエディターのフィード定義項目の拡張性セクションのタイプフィールドで、クラスの署名を入力します
.Sharedsource.Syndication.MultiParentFeed, Assembly -
コンテンツエディターのフィード定義項目、拡張性セクションのソース欄で、子どもを含む項目を選択してシンジケートします。