diff --git a/src/Umbraco.Web/Search/ISearchableTree.cs b/src/Umbraco.Web/Search/ISearchableTree.cs index 965dcf3ce5..616b8e5763 100644 --- a/src/Umbraco.Web/Search/ISearchableTree.cs +++ b/src/Umbraco.Web/Search/ISearchableTree.cs @@ -1,10 +1,16 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using Umbraco.Web.Models.ContentEditing; namespace Umbraco.Web.Search { public interface ISearchableTree { + /// + /// The alias of the tree that the belongs to + /// + string TreeAlias { get; } + /// /// Searches for results based on the entity type /// diff --git a/src/Umbraco.Web/Search/SearchableTreeResolver.cs b/src/Umbraco.Web/Search/SearchableTreeResolver.cs index 48a447cd23..4a43bb82f1 100644 --- a/src/Umbraco.Web/Search/SearchableTreeResolver.cs +++ b/src/Umbraco.Web/Search/SearchableTreeResolver.cs @@ -40,21 +40,19 @@ namespace Umbraco.Web.Search var appTrees = _treeService.GetAll().ToArray(); _resolved = new SearchableTreeCollection(); var searchableTrees = Values.ToArray(); - foreach (var instanceType in InstanceTypes) + foreach (var searchableTree in searchableTrees) { - if (TypeHelper.IsTypeAssignableFrom(instanceType)) + var found = appTrees.FirstOrDefault(x => x.Alias == searchableTree.TreeAlias); + if (found != null) { - var found = appTrees.FirstOrDefault(x => x.GetRuntimeType() == instanceType); - if (found != null) - { - _resolved.Add(new SearchableApplicationTree(found.ApplicationAlias, found.Alias, searchableTrees.First(x => x.GetType() == instanceType))); - } + _resolved.Add(new SearchableApplicationTree(found.ApplicationAlias, found.Alias, searchableTree)); } } return _resolved; } } } + } }