如何在 NopCommerce 3.8 的现有菜单下的管理面板中添加子菜单?
How can I add a submenu in admin panel under a existing menu in NopCommerce 3.8?
我的问题与此几乎相似 除了一点点变化。有添加菜单的解决方案,像我也想添加菜单,但是在不同的过程中。
目前我正在开发一个关于组合促销优惠的项目。因此,我想在 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
添加这个子菜单?
您可以使用:
public void ManageSiteMap(SiteMapNode rootNode)
{
var menuItem = new SiteMapNode()
{
SystemName = "Promotion.Combo",
Title = "Combo Offer",
ControllerName = "PromotionCombo",
ActionName = "Configure",
IconClass = "fa-dot-circle-o"
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);
}
您查找的系统名称是
Promotions
更新的答案表明您可以使用 menuItem 对象中的 IconClass 在菜单项名称前面添加图标。
此外,为了完整起见,不要忘记将 IAdminMenuPlugin 添加到您的插件 cs 文件中,如下所示:
public class MyCustomPlugin : BasePlugin, IAdminMenuPlugin
我的问题与此几乎相似
目前我正在开发一个关于组合促销优惠的项目。因此,我想在 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
添加这个子菜单?
您可以使用:
public void ManageSiteMap(SiteMapNode rootNode)
{
var menuItem = new SiteMapNode()
{
SystemName = "Promotion.Combo",
Title = "Combo Offer",
ControllerName = "PromotionCombo",
ActionName = "Configure",
IconClass = "fa-dot-circle-o"
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);
}
您查找的系统名称是
Promotions
更新的答案表明您可以使用 menuItem 对象中的 IconClass 在菜单项名称前面添加图标。
此外,为了完整起见,不要忘记将 IAdminMenuPlugin 添加到您的插件 cs 文件中,如下所示:
public class MyCustomPlugin : BasePlugin, IAdminMenuPlugin