2013-10-15 7 views
5

EPi 서버 웹 사이트 (관리 모드의 "웹 사이트 언어 관리"패널에서 사용하도록 설정)에 사용할 수있는 모든 언어 목록을 가져오고 플래그 아이콘 및 물론 문화의 경로를 검색 할 수도 있습니다 이름/ID.EPi Server 웹 사이트에서 사용 가능한 모든 언어 목록을 프로그래밍 방식으로 검색하는 방법은 무엇입니까?

저는 EPiServer 6 R2를 사용하고 있습니다. 코드가 해당 버전에서 작동하면 멋질 것입니다. 올바른 방향으로 나를 가리키면 커야합니다.

답변

7

EPiServer.DataAbstraction에는 LanguageBranch.ListEnabled()가 있습니다. C : \ Program 파일 (x 86) \ EPiServer \ CMS \ 6.1.379.0 \ 응용 프로그램 \의 UI \ CMS \ 관리 \ EditLanguageBranches.aspx

가 관리 모드에 바인딩 된 방법을 보려면이 파일에서보세요

+1

참고 : 질문에 대한 답변이 아니지만 대신이 시작 페이지를 사용하여 사용 가능한 언어를 찾을 수 있습니다. 일반적으로 모든 언어로 번역됩니다. PageDataCollection languagesForCurrentPage = EPiServer.DataFactory.Instance.GetLanguageBranches (PageReference.StartPage) ; –

+0

환호성. 'EPiServer.DataAbstraction.LanguageBranch.ListEnabled()'메소드는 내가 찾고 있던 것을 정확하게 수행했다. 질문을 표시하겠습니다 만 질문도 – kjetilh

8

당신은 당신이 정말 모두에서 ServiceLocator를 사용하지 않는 대신 자동으로 StructureMap에 의해 해결 될 것입니다 생성자 매개 변수로 ILanguageBranchRepository을해야하지만

ServiceLocator.Current.GetInstance<ILanguageBranchRepository>().ListEnabled(); 

을 의미한다. 이렇게하면 클래스에 종속성에 대한 명확한 목록을 제공하고 ServiceLocator를 조롱 할 필요가 없으므로 단위 테스트를 훨씬 쉽게 수행 할 수 있습니다.

+0

을 업데이트하십시오. 그러나 servicelocator를 구현하지 않는 EPi6에 대한 질문은 –