Menu Builder Service
The `UmbNavMenuBuilderService` is the core service that processes menu items. Extend it to customize filtering, content resolution, and item transformation.
Basic Extension
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Umbraco.Cms.Core.PublishedCache;
using Umbraco.Cms.Core.Web;
using Umbraco.Community.UmbNav.Core.Models;
using Umbraco.Community.UmbNav.Core.Services;
public class CustomMenuBuilderService : UmbNavMenuBuilderService
{
public CustomMenuBuilderService(
IPublishedContentCache publishedContentCache,
ILogger<UmbNavMenuBuilderService> logger,
IHttpContextAccessor httpContextAccessor,
IUmbracoContextAccessor umbracoContextAccessor,
IPublishedMediaCache publishedMediaCache)
: base(publishedContentCache, logger, httpContextAccessor,
umbracoContextAccessor, publishedMediaCache)
{
}
}Registering Your Service
Override Points
BuildMenu
ShouldIncludeItem
ResolveContent
ResolveImage
ApplyOptions
ProcessChildren
GetAutoExpandedChildren
IsUserLoggedIn
GetCurrentContentKey
Complete Example: Analytics Integration
Complete Example: Multi-Site Support
Complete Example: Caching Layer
Protected Properties
Property
Type
Description
Testing Your Extension
Last updated
Was this helpful?