果园管理员用户页面标签不显示

本文关键字:标签 显示 管理员 用户 果园 | 更新日期: 2023-09-27 18:07:08

我需要使用原来的Admin/Users作为一个新模块的部分,所以我从果园继承。用户AdminController在我的CustomModule中调用base Index Action,并添加了一个优先级更高的自定义路由:

//AdminController
public ActionResult IndexWithJS(UserIndexOptions options, PagerParameters pagerParameters)
{
    base.Index(options,pagerParameters);
    return View("Index");
}
//Route
[OrchardFeature("MyModule.Users")]
public class Routes : IRouteProvider
{
    public IEnumerable<RouteDescriptor> GetRoutes()
    {
        yield return new RouteDescriptor()
        {
            Priority = 100,
            Route = new Route("Admin/Users/",
                new RouteValueDictionary
                {
                    {"area", "MyModule.Users"},
                    {"controller", "Admin"},
                    {"action", "IndexWithJS"},
                },
                new RouteValueDictionary(),
                new RouteValueDictionary { { "area", "MyModule.Users" } },
                new MvcRouteHandler())
        };
    }
    public void GetRoutes(ICollection<RouteDescriptor> routes)
    {
        foreach (var route in this.GetRoutes())
        {
            routes.Add(route);
        }
    }
}
//new Index.cshtml
@model Orchard.Users.ViewModels.UsersIndexViewModel
@Html.Partial("~/Modules/Orchard.Users/Views/Admin/Index.cshtml", Model)
@Script.Include("additionalscript.js");

结果,我得到了与以前相同的视图,但没有组等选项卡。我需要那些标签回来;)。有没有人有同样的问题之前,知道如何做到这一点,而不修改任何果园的基础模块?

编辑:My INaigationProvider:

public void GetNavigation(NavigationBuilder builder)
    {
        builder.Add(this.T("Users"), "11", menu =>
        {
            menu.Add(T("Users"), "1", item => item.Action("IndexWithJS", "Admin", new { area = "MyModule.Users" }).LocalNav().Permission(StandardPermissions.SiteOwner));
        });
    }

现在我得到的选项卡,但用户选项卡是重复的。如果我不包含我自己的NavigationProvider,就不会出现标签

果园管理员用户页面标签不显示

选项卡通过实现INavigationProvider接口和使用LocalNav()方法来控制第3级菜单项。

public void GetNavigation(NavigationBuilder builder) {
    builder.AddImageSet("webshop")
        .Add(T("Customers"), "7", menu => menu.Action(...})
        .Add(T("Details"), "0", item => item.Action(...}).LocalNav())
        .Add(T("History"), "1", item => item.Action(...).LocalNav())
        .Add(T("Contact"), "2", item => item.Action(...).LocalNav()));
}

裁判:http://docs.orchardproject.net/Documentation/adding-admin-menu-items