2

遵循 PiranhaCMS 2.2.0 文档不会将菜单项插入到管理器菜单中。

我究竟做错了什么?

我已经把它放在我的_AppStart.cshtml

Manager.Menu.Add(new Manager.MenuGroup()
    {
        InternalId = "MyApp",
        Name = "My app",
        CssClass = "fancy-icon"
    });

/* From this point down - also tried placing in _ViewStart.cshtml */
Manager.Menu.Where(m => m.InternalId == "MyApp").Single().Items.Add(
  new Manager.MenuItem() {
    Name = "Products",
    Action = "productlist",
    Controller = "products",
    Permission = "ADMIN_PRODUCT",
    SelectedActions = "productlist,productedit"
  });

Manager.Menu.Where(m => m.InternalId == "MyApp").Single().Items.Add(
  new Manager.MenuItem() {
    Name = "Product groups",
    Action = "productgrouplist",
    Controller = "products",
    Permission = "ADMIN_PRODUCTGROUP",
    SelectedActions = "productgrouplist,productgroupedit"
  });

但是,即使代码被命中,我也可以看到其中Manager.Menu包含新项目 - 它们不会在管理器菜单中呈现。

我在这里想念什么?我应该在哪里放置实际的菜单插入?

谢谢。

4

1 回答 1

3

上面的代码似乎是从http://piranhacms.org/docs/extend/manager-menu的示例中复制而来的。如果您查看文档中的最后一段,您可以看到在上面的示例中,为新的管理器功能(ADMIN_PRODUCT、ADMIN_PRODUCTGROUP)添加了两个自定义权限。

由于管理器只呈现登录用户可以访问的项目,我只能假设您没有在系统 > 权限下添加这些权限,这导致当前用户无权访问它们。而且由于用户无权访问组中的任何项目,因此整个组都被隐藏了!

只需Permission = "..."从您的项目中删除它们,它们就应该呈现。

问候

哈坎

于 2014-03-27T06:10:41.360 回答