Sitecore将页面强制执行为一种语言

时间:2012-04-04 21:46:38

标签: asp.net sitecore

所以我有网站的部分,我希望我的所有用户都转到美国版本的页面,因为我们还没有所有语言的翻译。

我如何将所有不同语言的用户发送到美国版本?对于每种语言版本,我们都有URL语言,即..

我们/页面名 MX /网页 CA /页面名

2 个答案:

答案 0 :(得分:2)

语言后备会为你解决这个问题吗?您有两种选择:

  • 如果版本
  • 中的项目不存在,请使用Fallback模块,该模块可以使用其他语言
  • 使用“部分”语言回退模块,该模块将回退未填充到其他语言的数据字段。在这种情况下,您只需要在每种目标语言中创建一个空语言版本。

http://trac.sitecore.net/LanguageFallback

答案 1 :(得分:0)

我喜欢语言回退提供程序的想法,该语言回退提供程序基本上使任何没有特定语言值的字段回退到另一个字段(例如英语)。

另一种选择是在HttpRequest附近创建自定义LanguageResolver管道处理器,以查找网站该部分中的项目并为其解析英语:

  1. 创建一个继承自HttpRequestProcessor
  2. 的类
  3. 使用代码实施public override void Process(HttpRequestArgs args)以检查您是否在网站的该部分,如果是,请将Context.Language设置为英语。
  4. 这只是一个想法,我没试过。如果您想查看当前LanguageResolver的工作原理,请使用ILSpy反编译Sitecore.Kernel并查看Sitecore.Pipelines.HttpRequest.LanguageResolver