2015-01-13 6 views
2

INavigationProvider을 사용하여 관리 메뉴를 채우는 동안 항목을 추가하고 LocalNav() 메소드를 사용할 수 있습니다. 이렇게하면 콘텐츠 영역에 탐색 탭이 있습니다.Orchard CMS의 관리자 로컬 탐색 탭

내 경우에 특정 ContentType의 컨텐트 항목을 나열하는 사용자 정의 모듈이 있습니다. 그런 다음 선택한 콘텐트 항목을 클릭하고 내부로 이동하여 자식 문서로 이동할 수 있습니다. 여기에 하위 문서 목록이있는 3 개의 탭을 표시해야합니다.

질문 : 동적으로이 탭을 만드는 방법은 무엇입니까?

과수원 LocalNav = true 표시 ListMenuItem의 년대를 가지고 Layout.LocalNavigation 영역을 사용하여이 탭을 렌더링한다.

이 목록에 내 탭을 추가하려면 어떻게합니까?

감사 (123 부모 문서의 ID입니다 탭 href/admin/MyModule/Index/123/questions처럼, 부모 항목 ID에 따라 다름)!

답변

1

경로에서 제품 데이터를 가져 오는 데 대한 구체적인 조언을 드릴 수는 없지만 동적 탭까지 최근 비슷한 상황이 발생했습니다. 기본적으로 사이트에 설치된 모든 문화에 대해 별도의 탭이 필요했습니다.

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)); 
     } 
    })); 

}