Backend
UmbNav's backend can be customized by extending services, TagHelpers, and converters.
Extension Points
Component
Class
Purpose
Getting Started
Basic Pattern
// 1. Create the extension
public class CustomMenuBuilderService : UmbNavMenuBuilderService
{
public CustomMenuBuilderService(/* dependencies */)
: base(/* dependencies */)
{
}
protected override bool ShouldIncludeItem(UmbNavItem item, bool isLoggedIn)
{
// Custom logic
return base.ShouldIncludeItem(item, isLoggedIn);
}
}
// 2. Register via Composer
public class CustomUmbNavComposer : IComposer
{
public void Compose(IUmbracoBuilder builder)
{
builder.Services.AddUnique<IUmbNavMenuBuilderService, CustomMenuBuilderService>();
}
}Available Extensions
Menu Builder Service
TagHelper
Value Converter
Dependencies
Accessing Protected Members
Best Practices
1. Call Base Methods
2. Use Logging
3. Handle Nulls
4. Register Correctly
5. Test Your Extensions
Composition Order
Last updated
Was this helpful?