gpt4 book ai didi

c# - Sitecore.Context.Language 和 Sitecore.Context.ContentLanguage 之间的区别

转载 作者:行者123 更新时间:2023-11-30 19:04:55 29 4
gpt4 key购买 nike

对于我的网站:

Sitecore.Context.Language 的输出是da

Sitecore.Context.ContentLanguage 的输出是en

lblTest.Text = Sitecore.Context.Language+" & "+ Sitecore.Context.ContentLanguage;

output: da & en

这两个术语之间的基本区别是什么?我如何修改它们以使用其他语言?

谢谢!

最佳答案

Content Language代表客户端(Content Editor)的默认编辑语言。它是每个网站的站点定义中的一个属性。

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);
}

关于c# - Sitecore.Context.Language 和 Sitecore.Context.ContentLanguage 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34875696/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com