如何在NopCommerce 3.8中的现有菜单下的管理面板中添加子菜单?

时间:2017-01-11 05:53:14

标签: asp.net-mvc c#-4.0 menu nopcommerce nopcommerce-3.80

除了稍微改变之外,我的问题几乎与question类似。有一个添加菜单的解决方案,比如我也想在不同的过程中添加菜单。

目前我正在开发一个关于组合促销优惠的项目。因此,我想在Promotion下添加一个子菜单,与所有其他子菜单一样image

但我开发的是创建一个名为Plugins的单独菜单并在其中添加子菜单。像这样image

这是我用来创建该菜单的代码。

public void ManageSiteMap(SiteMapNode rootNode)
        {
            var menuItem = new SiteMapNode()
            {
                SystemName = "Promotion.Combo",
                Title = "Combo Offer",
                ControllerName = "PromotionCombo",
                ActionName = "Configure",
                Visible = true,
                RouteValues = new RouteValueDictionary() { { "area", null } },
            };
            var pluginNode = rootNode.ChildNodes.FirstOrDefault(x => x.SystemName == "Third party plugins");
            if (pluginNode != null)
                pluginNode.ChildNodes.Add(menuItem);
            else
                rootNode.ChildNodes.Add(menuItem);
        }

我想知道从哪个SystemName添加这个子菜单?

1 个答案:

答案 0 :(得分:5)

您可以使用:

public void ManageSiteMap(SiteMapNode rootNode)
{
    var menuItem = new SiteMapNode()
    {
       SystemName = "Promotion.Combo",
       Title = "Combo Offer",
       ControllerName = "PromotionCombo",
       ActionName = "Configure",
       Visible = true,
       RouteValues = new RouteValueDictionary() { { "area", null } },
    };

    var pluginNode = rootNode.ChildNodes.FirstOrDefault(x => x.SystemName == "Promotions");
        if (pluginNode != null)
            pluginNode.ChildNodes.Add(menuItem);
        else
            rootNode.ChildNodes.Add(menuItem);
}

您查找的系统名称是

  

促销