2013-10-15 13 views
5

EPi Serverのウェブサイト(管理モードで[ウェブサイトの言語を管理]パネルで有効になっている)で有効なすべての言語のリストを取得したいだけでなく、フラグアイコンともちろん文化のパスを取得することもできます名前/ ID。EPi Serverウェブサイトのすべての有効な言語のリストをプログラムで取得するにはどうすればよいですか?

私はEPiServer 6 R2を使用していますので、そのバージョンでコードがうまくいけば素敵です。正しい方向に私を指摘することも素晴らしいでしょう。

答えて

7

EPiServer.DataAbstractionにはLanguageBranch.ListEnabled()があります。

それは管理者モードでバインドされていますどのように表示するには、このファイルを見てみましょう: C:\プログラムファイル(x86の)\ EPiServer \ CMS \ 6.1.379.0 \アプリケーション\ UI \ CMS \管理\ EditLanguageBranches.aspx

+1

注:ご質問に対する回答ではなく、このような開始ページを見て、利用可能な言語を見つけることができます。通常はすべての言語に翻訳されます。Pag​​eDataCollection 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 –

関連する問題