【问题标题】:EpiServer: get content in the currently selected language?EpiServer:获取当前所选语言的内容?
【发布时间】:2019-02-13 22:50:41
【问题描述】:

我们有一个块可以提取内容并将其显示在我们的页面上。现在,无论我在我们的语言切换器中选择哪种语言,我们的区块都不会尊重这一点。

由于我是 EpiServer 和 C# 的新手,我想我已经确定以下代码行是提取数据的代码?

ServiceLocator.Current.GetInstance<IContentLoader>();

我可以重写它以仅获取用户当前选择的语言的内容吗?

我不确定如何将它与 CultureInfo 类结合起来。

【问题讨论】:

  • 你能分享更多代码吗?您正在检索内容的行?您共享的行正在检索用于检索内容的 service
  • 该代码在什么上下文中执行?通常你不需要做任何事情,所以我很好奇代码在哪里/如何执行。但是,如果它缺少语言上下文,它将默认为主语言。

标签: episerver


【解决方案1】:

你可以试试这样的:

IContentLoader contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>();
PageData page = contentLoader.Get<PageData>(new ContentReference(1234) /*Your contentreferenceid to fetch ere*/, ContentLanguage.PreferredCulture);

【讨论】:

  • CultureInfo.CurrentUICulture 决定了 UI 语言,因此它应该主要用于 Episerver 用户界面中,而不是用于内容交付。但是,您可能对ContentLanguage.PreferredCulture 感兴趣。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-26
  • 2017-04-11
  • 2011-05-11
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
相关资源
最近更新 更多