Я использую ABP Zero для создания нового приложения и пошел по пути использования модульного подхода для подключения других веб-проектов к основному приложению.
Приведенный ниже код прекрасно работает для добавления в службы , просмотры и контроллеры.
[DependsOn(
typeof(DocumentsApplicationModule))]
public class DocumentsWebModule : AbpModule
{
public override void PreInitialize()
{
//add in navigation
Configuration.Navigation.Providers.Add<NavigationProvider>();
//add in js for module views
Configuration.EmbeddedResources.Sources.Add(
new EmbeddedResourceSet(
"/ModuleResources/",
Assembly.GetExecutingAssembly(),
"Documents.Web.ModuleResources"
)
);
//add the dynamic api for the module
Configuration.Modules.AbpAspNetCore()
.CreateControllersForAppServices(
typeof(DocumentsApplicationModule).GetAssembly(),
moduleName: "doc",
useConventionalHttpVerbs: true
);
}
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(typeof(DocumentsWebModule).GetAssembly());
}
}
Тем не менее, я бы хотел, чтобы у каждого модуля было свое собственное меню и замена текущего провайдера навигации при просмотре. Кажется, я не могу найти какую-либо документацию о том, как этого добиться.
![Main Menu](https://i.stack.imgur.com/j0reu.png)
Таким образом, как показано, элемент документов добавляется в основной поставщик навигации и когда это Я хочу, чтобы все меню изменилось.