Skip to content

Instantly share code, notes, and snippets.

@pbres
Last active January 21, 2018 17:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pbres/7b05b98d5810fbdf3780e4a4bce76166 to your computer and use it in GitHub Desktop.
Save pbres/7b05b98d5810fbdf3780e4a4bce76166 to your computer and use it in GitHub Desktop.
public class UmbracoSitemapService
{
private readonly UmbracoHelper _umbracoHelper;
public UmbracoSitemapService()
{
_umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
}
public List<SitemapItem> GetItemsAsList(int startNodeId)
{
var sercher = ExamineManager.Instance.SearchProviderCollection["ExternalSearcher"];
var searchCriteria = sercher.CreateSearchCriteria();
searchCriteria.Field("searchPath", startNodeId.ToString())
.Not().Field("template", "0");
var sitemapItems = new List<SitemapItem>();
var results = sercher.Search(searchCriteria);
foreach (var result in results)
{
var node = _umbracoHelper.TypedContent(result.Id);
if (node != null)
{
var sitemapItem = new SitemapItem();
sitemapItem.Url = node.UrlAbsolute();
sitemapItem.Name = node.Name;
sitemapItem.LastUpdateDate =
node.UpdateDate.ToUniversalTime().ToString(CultureInfo.InvariantCulture);
sitemapItems.Add(siteMapItem);
}
}
return sitemapItems;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment