我正在从 Pluralsight 提供的教程中学习 Nopcommerce。
在管理面板中为插件添加菜单时,版本 3.5 和 3.8 有所不同。相反,我们 public SiteMapNode BuildMenuItem()
必须使用public void ManageSiteMap(SiteMapNode rootNode)
.
我根据 NopCommerce 提供的文档使用了 ManageSiteMap How to add a menu item into the management area from a plugin,但是通过使用该代码,我只能显示父菜单而不是子菜单。
这是我的代码:
public void ManageSiteMap(SiteMapNode rootNode)
{
var menuItem = new SiteMapNode()
{
Title = "Promo Slider",
ControllerName = "PromoSlider",
ActionName = "CreateUpdatePromoSlider",
Visible = true,
RouteValues = new RouteValueDictionary() { { "area", "admin" } }
};
var createUpdate = new SiteMapNode()
{
SystemName = "Widgets.PromoSlider",
Title = "New Sliders",
ControllerName = "PromoSlider",
ActionName = "CreateUpdatePromoSlider",
Visible = true,
RouteValues = new RouteValueDictionary() { { "area", null } }
};
var manageSlider = new SiteMapNode()
{
SystemName = "Widgets.PromoSlider",
Title = "Manage Sliders",
ControllerName = "PromoSlider",
ActionName = "ManagePromoSliders",
Visible = true,
RouteValues = new RouteValueDictionary() { { "area", null} }
};
menuItem.ChildNodes.Add(createUpdate);
menuItem.ChildNodes.Add(manageSlider);
var pluginNode = rootNode.ChildNodes.FirstOrDefault(x => x.SystemName == "Third party plugins");
if (pluginNode != null)
pluginNode.ChildNodes.Add(menuItem);
else
rootNode.ChildNodes.Add(menuItem);
}
我想这样展示
插件
|---->促销滑块
|------------> 新滑块
|-----------> 管理滑块
任何人都可以帮我解决我的代码。