在使用INavigationProvider填充管理菜单时,我们可以添加项并使用LocalNav()方法。这样,我们在内容区域有导航选项卡。
在我的例子中,我有我的自定义模块,它列出了特定ContentType的内容项。然后,我可以单击选定的内容项并在其中导航到子文档。在这里,我需要显示带有子文档列表的3个标签。
问题是:如何动态创建此选项卡?
Orchard使用Layout.LocalNavigation区域呈现此选项卡,该区域的List of MenuItem's标记为LocalNav = true。
如何将自己的选项卡添加到此列表中?(选项卡href依赖于父项ID,如/admin/MyModule/Index/123/questions,其中123是父文档的ID )
谢谢!
发布于 2015-01-13 21:12:42
我无法给出从路由获取产品数据的具体建议,但就动态选项卡而言,最近出现了类似的情况,以下是我是如何做到的;基本上,我需要为站点上的每个已安装的区域性设置一个单独的选项卡。
public void GetNavigation(NavigationBuilder builder)
{
var cultures = this.CultureManager.ListCultures().ToList();
builder
.Add(
T("Settings"),
menu => menu.Add(
T("Culture Customizations"),
"10.0",
subMenu =>
{
subMenu.LinkToFirstChild(true);
for (int cultureCounter = 0; cultureCounter < cultures.Count; cultureCounter++)
{
var cultureString = cultures[cultureCounter];
var cultureInfo = CultureInfo.GetCultureInfo(cultureString);
subMenu.Add(T(cultureInfo.EnglishName), cultureCounter.ToString(CultureInfo.InvariantCulture), item => item.Action("Index", "Admin", new {area = "ProjectName.YourModule", cultureCode = cultureString}).LocalNav(true));
}
}));}
https://stackoverflow.com/questions/27926577
复制相似问题