Sitecore.Context.Language 和 Sitecore.Context.ContentLanguage 之间的 Sitecore 差异
Sitecore Difference between Sitecore.Context.Language & Sitecore.Context.ContentLanguage
对于我的网站:
Sitecore.Context.Language
的输出是da
并且Sitecore.Context.ContentLanguage
的输出是en
。
lblTest.Text = Sitecore.Context.Language+" & "+ Sitecore.Context.ContentLanguage;
output: da & en
这两个术语的基本区别是什么?我如何修改它们以使用其他语言?
谢谢!
内容语言表示客户端(内容编辑器)中的默认编辑语言。
它是每个网站的站点定义中的 属性。
Sitecore.Context.Language 表示您浏览网站时的上下文语言。
例如,如果您有丹麦语编辑,则内容语言将为丹麦语。
您可以有多种上下文语言,因为访问者可以切换他们的语言。
Sitecore.Context.Language 是一个聪明的 属性,这意味着它遵循延迟加载模式:如果代码访问这个 属性 而没有任何设置,那么 getter 属性 包含确定上下文语言的逻辑。
Sitecore 在 httpRequestBegin 管道中使用 Sitecore.Pipelines.HttpRequest.LanguageResolver 处理器来确定上下文语言。
如果您想更改内容语言,您需要修改网站定义。要以编程方式更改上下文语言,您可以使用:
Sitecore.Context.Language=yourlanguage;
UPDATE 在我阅读更改上下文语言的评论后,您可以使用:
var myItem = Sitecore.Context.Item;
using (new Sitecore.Globalization.LanguageSwitcher("da-DK"))
{
myItem = myItem.Database.GetItem(myItem.ID);
}
对于我的网站:
Sitecore.Context.Language
的输出是da
并且Sitecore.Context.ContentLanguage
的输出是en
。
lblTest.Text = Sitecore.Context.Language+" & "+ Sitecore.Context.ContentLanguage;
output: da & en
这两个术语的基本区别是什么?我如何修改它们以使用其他语言?
谢谢!
内容语言表示客户端(内容编辑器)中的默认编辑语言。 它是每个网站的站点定义中的 属性。
Sitecore.Context.Language 表示您浏览网站时的上下文语言。
例如,如果您有丹麦语编辑,则内容语言将为丹麦语。 您可以有多种上下文语言,因为访问者可以切换他们的语言。
Sitecore.Context.Language 是一个聪明的 属性,这意味着它遵循延迟加载模式:如果代码访问这个 属性 而没有任何设置,那么 getter 属性 包含确定上下文语言的逻辑。
Sitecore 在 httpRequestBegin 管道中使用 Sitecore.Pipelines.HttpRequest.LanguageResolver 处理器来确定上下文语言。
如果您想更改内容语言,您需要修改网站定义。要以编程方式更改上下文语言,您可以使用:
Sitecore.Context.Language=yourlanguage;
UPDATE 在我阅读更改上下文语言的评论后,您可以使用:
var myItem = Sitecore.Context.Item;
using (new Sitecore.Globalization.LanguageSwitcher("da-DK"))
{
myItem = myItem.Database.GetItem(myItem.ID);
}