public void FillIndex() { var homePage = _umbracoHelper.TypedContentAtRoot().First(pc => pc.DocumentTypeAlias.Equals(_documentTypeAliasProvider.GetHomePage())); var contentPages = homePage.Descendants(_documentTypeAliasProvider.GetContentPage()); var searchableContents = contentPages .Where(pc => _searchUmbracoHelper.IsSearchable(pc)) .Select(GetContent); _contentIndex.Index(searchableContents); }
public virtual OpenGraphObject GetOpenGraphObject(IPublishedContent content, string defaultUrl = null) { var obj = GetDefaultObject(defaultUrl); if (!content.DocumentTypeAlias.Equals(_documentTypeAliasProvider.GetContentPage())) { obj.Title = content.Name; return(obj); } var media = content.GetPropertyValue <IPublishedContent>(Properties.ImageAlias); obj.Title = content.HasValue(Properties.TitleAlias) ? content.GetPropertyValue <string>(Properties.TitleAlias) : content.Name; obj.Description = content.GetPropertyValue <string>(Properties.DescriptionAlias); obj.Image = GetAbsoluteImageUrl(media); obj.MediaId = media?.Id; return(obj); }
public bool IsSearchable(IPublishedContent content) { var isContentPage = content.DocumentTypeAlias.Equals(_documentTypeAliasProvider.GetContentPage()); return(isContentPage && content.GetPropertyValue <bool>("useInSearch")); }
public IEnumerable <IPublishedContent> GetAllContentPages() { var contentPages = GetDescendants(_baseXPath.Append(_documentTypeAliasProvider.GetContentPage())).ToList(); return(contentPages); }