Orchard 1.9.2在管理员菜单中为主题部分添加主题设置

时间:2015-11-27 20:29:33

标签: orchard-modules orchardcms-1.9

所以添加管理菜单的旧方法是创建一个控制器,然后创建一个管理菜单文件,并为下面的菜单项编号。

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将菜单项放在主题下的标签中。

0 个答案:

没有答案