4

そのため、管理メニューを追加する古い方法は、コントローラーを作成してから 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")));
        }
    }

これに対する答えを見つけたいです。ハンドラを使用してテーマの下のタブにメニュー項目を実際に配置する方法を教えてください。

4

0 に答える 0