private static void Recurse(Item item, SitemapGetItemsArgs args) { var sitemapGetItemArgs = new SitemapGetItemArgs(item, args.SitemapSiteArgs); CorePipeline.Run("sitemap.ProcessItem", sitemapGetItemArgs); args.SitemapItems.AddRange(sitemapGetItemArgs.SitemapItems); foreach (var child in item.GetChildren().Select(i => i)) { Recurse(child, args); } }
public void Process(SitemapGetItemArgs args) { Assert.ArgumentNotNull(args, nameof(args)); foreach (var sitemapLanguage in args.SitemapLanguages) { var itemLanguageVersion = args.Item.Versions.GetLatestVersion(sitemapLanguage.Language); var sitemapValidateVersionItemArgs = new SitemapValidateVersionItemArgs(itemLanguageVersion); CorePipeline.Run("sitemap.ValidateItemVersion", sitemapValidateVersionItemArgs); if (sitemapValidateVersionItemArgs.Valid) { args.SitemapItems.Add( new SitemapItem(itemLanguageVersion, args.SitemapSiteArgs.SiteContext, sitemapLanguage) ); } } }