将项目添加到Piranha CMS的管理器菜单中

时间:2014-03-26 06:48:50

标签: piranha-cms

遵循PiranhaCMS 2.2.0文档不会将菜单项插入Manager菜单。

我做错了什么?

我已将此放在 _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中有新项目 - 它们也不会在管理器菜单中呈现。

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

感谢。

1 个答案:

答案 0 :(得分:3)

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

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

只需从您的商品中删除Permission = "..."即可呈现。

此致

哈坎