public void Execute(IndexContentEvent e) { if (e.Content.GetValue <bool>("hideFromIndex")) { e.Cancel = true; } }
public void Execute(IndexContentEvent e) { if (!e.Content.HasProperty(hideFromIndex)) { return; } e.Cancel = e.Content.GetValue <bool>(hideFromIndex); }
/// <summary> /// Indexes a content item /// </summary> /// <param name="content">The content item</param> /// <param name="indexName">Optional index name to index specific index, ignoring others</param> public void Index(IContentBase content, Source source, string indexName = null) { var config = ConfigProvider.GetRootConfig(); var indexer = LoadIndexer(config); var indexes = indexName != null ? new[] { indexName } : config.Indexes.ToArray(); foreach (var indexAlias in indexes) { var indexConfig = ConfigProvider.GetIndexConfig(indexAlias); var contentTypeConfig = source == Source.Content ? indexConfig.ContentTypes.FirstOrDefault(c => c.Alias == content.GetContentType().Alias) : indexConfig.MediaTypes.FirstOrDefault(c => c.Alias == content.GetContentType().Alias); if (contentTypeConfig == null) { contentTypeConfig = indexConfig.ContentTypes.FirstOrDefault(c => string.IsNullOrWhiteSpace(c.Alias)); if (contentTypeConfig == null) { continue; } } var indexableItem = GetIndexableItem(indexConfig, contentTypeConfig, content); switch (source) { case Source.Content: indexableItem.AddOrUpdate("_umbracoSource", "content"); break; case Source.Media: indexableItem.AddOrUpdate("_umbracoSource", "media"); break; } var indexContentEvent = new IndexContentEvent { Content = content, IndexItem = indexableItem, Cancel = false }; foreach (var contentIndexStrategy in contentTypeConfig.IndexStrategies.Concat(indexConfig.IndexStrategies)) { var strategy = IndexStrategyResolver.GetContentIndexStrategy(contentIndexStrategy); strategy.Execute(indexContentEvent); if (indexContentEvent.Cancel) { break; } } if (!indexContentEvent.Cancel) { indexer.Index(indexConfig.Alias, indexableItem); } } }