我只想获得EPi Server网站所有已启用语言的列表(在管理模式下的“管理网站语言”面板中启用),并且最好还能够检索标志图标的路径,当然还有文化名称/ ID。
我正在使用EPiServer 6 R2,所以如果代码适用于该版本,那将很可爱。把我指向正确的方向也会很棒。
答案 0 :(得分:10)
你的意思是
ServiceLocator.Current.GetInstance<ILanguageBranchRepository>().ListEnabled();
但是你确实根本不使用ServiceLocator,而是将ILanguageBranchRepository作为构造函数参数,将由StructureMap自动解析。这为您的类提供了一个清晰的依赖列表,并使单元测试变得更加容易,因为您不必模拟ServiceLocator。
答案 1 :(得分:8)
在EPiServer.DataAbstraction中你有LanguageBranch.ListEnabled()。
看一下这个文件,看看它在管理模式下是如何绑定的: C:\ Program Files(x86)\ EPiServer \ CMS \ 6.1.379.0 \ Application \ UI \ CMS \ Admin \ EditLanguageBranches.aspx