所以添加管理菜单的旧方法是创建一个控制器,然后创建一个管理菜单文件,并为下面的菜单项编号。
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());
}
但是与handeler的新方式让我试图弄清楚如何将管理菜单放在我想要的地方。如下。
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")));
}
}
很想找到答案,任何人都可以告诉我如何使用Handler将菜单项放在主题下的标签中。