2013-11-28 103 views
0

我想要一个具有两个选项卡的页面,并且我可以看到如何在AdminMenu.cs中使用LocalNav()执行此操作,但是我需要在第三级项目。如何在页面上创建localNav样式选项卡式布局

我的页面结构

管理菜单

  • 我模块
    • 内容项目1
      • 标签1
      • 标签2
    • 有限公司ntent项目2
      • 标签1
      • 标签2

我不能让这些显示为似乎只支持脱离了 “我的模块” 链接有标签,而不是较低层次的链接。

是否有另一种方法在我的“内容项目1”和“内容项目2”页面上显示选项卡式界面?

+0

你能澄清你的问题吗?很难理解你想要做什么。 –

+0

@Jennet,你过得怎么样? – justrhysism

+0

最后,我重新调整了我的页面布局,这样我就不会遇到需要使用制表符的“第三个”级别。 对不起,延迟回复我似乎没有得到通知! – Jennet

回答

0

我不相信有一种方法可以单独使用Orchard的导航提供程序。我做了类似的事情,但我必须分别处理第三级,并从我自己的控制器中自己实现菜单UI。

您仍然需要在模块的导航提供程序中添加第三个级别,因为这会正确标记LHS菜单和选项卡选项。沿着线的东西:

namespace Company.MyModule { 
    public class TileSortAdminMenu : INavigationProvider { 

     private Localizer T { get; set; } 

     public string MenuName { get { return "admin"; } } 

     public void GetNavigation(NavigationBuilder builder) { 

      builder 
       .AddImageSet("mymodule") 
       .Add(T("My Module"), "5", menu => menu 
        .LinkToFirstChild(true) 
        .Add(T("Content Item 1"), "1", item => item 
         .LocalNav() 
         .LinkToFirstChild(true) 
         .Add(T("Tab 1"), "1", tab => tab 
          .LocalNav() 
          .Action("Index", "MyModuleAdmin", new { area = "Company.MyModule"}) 
         ) 
         .Add(T("Tab 2"), "2", tab => tab 
          .LocalNav() 
          .Action("Tab2", "MyModuleAdmin", new { area = "Company.MyModule"}) 
         ) 
        ) 
        .Add(T("Content Item 2"), "2", item => item 
         .LocalNav() 
         .LinkToFirstChild(true) 
         .Add(T("Tab 1"), "1", tab => tab 
          .LocalNav() 
          .Action("ContentItem2Tab1", "MyModuleAdmin", new { area = "Company.MyModule"}) 
         ) 
         .Add(T("Tab 2"), "2", tab => tab 
          .LocalNav() 
          .Action("ContentItem2Tab2", "MyModuleAdmin", new { area = "Company.MyModule"}) 
         ) 
        ) 
       ); 
     } 
    } 
} 

在您看来,您可以通过使用类似maintian果园的造型:

<ul class="localmenu localmenu-submenu"> 
    <li class="selected"><a href="@Url.Action("Index", "MyModuleAdmin", new { area = "Company.MyModule"})">Tab 1</a<</li> 
    <li><a href="@Url.Action("Tab2", "MyModuleAdmin", new { area = "Company.MyModule"})">Tab 2</a></li> 
</ul> 

所在类别localmenu-submenu是你自己的风格调整定型钩,和你将类selected添加到您正在查看的任何选项卡。

或者,根据您要实现的内容,您可以实现jQuery UI的Tabs(可通过Orchard.jQuery资源清单获得),并且只需更新样式即可查看Orchard-y。

相关问题