Skip to content

Quick Start

By default, this will display in the content section.

ExampleTree.cs
using Umbraco.Cms.Core.Models;
using Umbraco.Community.SimpleTrees.Core.Models;
namespace Umbraco.Community.SimpleTrees.TestSite.Trees;
public class MyTree : SimpleTree
{
public override Task<PagedModel<ISimpleTreeItem>> GetTreeRootAsync(int skip, int take, bool foldersOnly)
{
var data = new List<ISimpleTreeItem>
{
CreateRootItem("James", Guid.NewGuid().ToString(), "icon-user"),
CreateRootItem("Tim", Guid.NewGuid().ToString(), "icon-user"),
};
return Task.FromResult(new PagedModel<ISimpleTreeItem>(data.Count, data));
}
public override Task<PagedModel<ISimpleTreeItem>> GetTreeChildrenAsync(string entityType, string parentUnique, int skip, int take, bool foldersOnly) => Task.FromResult(EmptyResult());
public override string Name => "My Tree";
}
  • Your views must go in /Views/Trees
  • You views must be the name of your tree entities
    • For example: MyTree.cs => /Views/Trees/MyItem.cshtml & /Views/Trees/MyRoot.cshtml
Views/Trees/MyItem.cshtml
@inherits Umbraco.Community.SimpleTrees.Web.SimpleTreeViewPage
<uui-box headline="This is a custom tree item">
<div>
<table>
<thead>
<tr>
<th>Entity Type</th>
<th>Unique</th>
</tr>
</thead>
<tbody>
<tr>
<td>@Model.EntityType</td>
<td>@Model.Unique</td>
</tr>
</table>
</div>
</uui-box>
Copyright © 2026 jcdcdev