예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }