因此,添加管理菜单的旧方法是创建一个控制器,然后创建一个 adminmenu 文件并为菜单项编号,如下所示。
public void GetNavigation(NavigationBuilder builder) {
var themeName = _siteThemeService.GetSiteTheme();
if (themeName.Name == Constants.THEME_NAME) {
builder.AddImageSet("themes")
.Add(T("Themes"), "10", BuildMenu);
}
}
private void BuildMenu(NavigationItemBuilder menu) {
menu.Add(T("SomeMenu"), "3", item => item.Action("Index", "Admin", new { area = Constants.ROUTES_AREA_NAME }).Permission(StandardPermissions.SiteOwner).LocalNav());
}
但是处理程序的新方法让我试图弄清楚如何将管理菜单放置在我想要的位置。如下所示。
public class SomeMenuPartHandler : ContentHandler {
public SomeMenuSettingsPartHandler() {
T = NullLocalizer.Instance;
Filters.Add(new ActivatingFilter<SomeMenuSettingsPart>("Site"));
Filters.Add(new TemplateFilterForPart<SomeMenuSettingsPart>("SomeMenuSettings", "Parts/SomeMenuSettings", "Theme-Bootstrap"));
}
public Localizer T { get; set; }
protected override void GetItemMetadata(GetContentItemMetadataContext context) {
if (context.ContentItem.ContentType != "Site")
return;
base.GetItemMetadata(context);
context.Metadata.EditorGroupInfo.Add(new GroupInfo(T("SomeMenu")));
}
}
很想找到答案,谁能告诉我如何使用处理程序将菜单项实际放置在主题下的选项卡中。