所以我有部分网站我希望我的所有用户都去美国版的页面,因为我们还没有所有语言的翻译。
我怎样才能将所有不同语言的用户发送到美国版本?对于每个语言版本,我们在 URL 中都有语言,即..
我们/页面名称 mx/页面名称 ca/页面名称
语言回退会为您解决这个问题吗?你有两个选择:
我喜欢 Language Fallback Provider 的想法,它基本上使任何在某种语言中没有值的字段回退到另一种语言(例如英语)。
另一种选择是在附近创建一个自定义HttpRequest
管道处理器,LanguageResolver
以查找站点该部分中的项目并为它们解析英语:
HttpRequestProcessor
public override void Process(HttpRequestArgs args)
代码来检查您是否在网站的该部分,如果是,请将其设置Context.Language
为英语。这只是一个想法,我没有尝试过。如果您想查看当前的LanguageResolver
工作原理,请Sitecore.Kernel
使用ILSpy反编译并查看Sitecore.Pipelines.HttpRequest.LanguageResolver