有没有办法使用与当前上下文不同的语言检索Sitecore项?

时间:2011-01-24 19:05:43

标签: sitecore sitecore6

我有一个Sitecore布局,可以从Sitecore项目生成一个vCard,包括一个人的姓名,公司地址等,并将其保存为Web服务器上的文件,以便以后(快速)检索。 vCard的一部分是组织(业务)名称。我们是一家国际公司,这意味着在不同的地区,我们的公司名称略有不同。

例如,在英语中,我们的名称是 [公司名称] LLP ,而在瑞典语中,它是 [公司名称] Advokat AB

生成vCard时使用的语言上下文是英语,但组织名称已在Sitecore中本地化。 是否可以从英语切换到另一种语言环境以获取本地化的组织名称,然后切换回来?

替代方法

我正在思考的另一种选择是在代码中硬编码组织名称,并根据人员的办公地址输出正确的组织名称。这样做的缺点是我不会利用Sitecore的本地化功能。此外,vCard的其他组件最终可能会被本地化 - 我不想对所有内容进行硬编码。

1 个答案:

答案 0 :(得分:16)

这有任何帮助吗?

Language theLanguage = Sitecore.Globalization.Language.Parse("sv-SE");
Item theOriginalItem = Sitecore.Context.Database.GetItem("/sitecore/content/home/theitem");
Item theLanguageSpecificItem = Sitecore.Context.Database.GetItem(theOriginalItem.ID, theLanguage);