【问题标题】:Sitecore best possible way to get Item in English if its not present in the given language如果项目不以给定语言显示,Sitecore 以英语获取项目的最佳方法
【发布时间】:2016-01-25 18:29:28
【问题描述】:

在我的网站中,每个项目都以英文版本存在。现在,如果具有Content Language ='Danish' 的用户想要访问在“Danish”语言中不存在的项目。用户实际上什么都看不到,我想做的是,如果该项目不存在所需的语言,则获取它的英文版本。

我这样做是为了实现我的目标:

string itemId = "{05B1C498-39D1-40D6-B454-2A3277A6DDF9}";
Item versionItem = Sitecore.Context.Database.GetItem(itemId);
if (versionItem.Versions.Count > 0)
    lblOutput.Text = "Item does not exist in desired language";
else
{
    versionItem = contextDatabase.GetItem(itemId, Sitecore.Data.Managers.LanguageManager.GetLanguage("en"));
    lblOutput.Text = "Here is the item in default English language";
}

这是实现我想要的正确方法吗?因为我担心的是,我必须使用此代码来访问每个项目。是否有任何全局设置或类似的东西,如果 desired 语言中不存在该项目,我可以使用“English”语言获取该项目。

【问题讨论】:

    标签: c# sitecore sitecore7.2


    【解决方案1】:

    您可以针对您的案例使用后备语言模块。

    https://marketplace.sitecore.net/en/modules/language_fallback.aspx

    http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Elizabeth-Spranzani/Posts/2014/10/Fallback-followup.aspx

    http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Elizabeth-Spranzani/Posts/2014/03/Fallback-Series-Post-2.aspx

    从第二篇博文看来,它正在使用 Sitecore 7.2。

    现在 Sitecore 7 已成为标准,而即将推出的 Sitecore 8 即将推出,我认为是时候进行一些测试并确保所有这些在最新公开发布的版本上仍然有效:Sitecore 7.2更新 2(修订版 140526)。

    【讨论】:

    • 学习新东西总是好的 :) 我猜 Alex Shyba 已经忘记了这个模块并且不会更新 Marketplace 上的描述。无论如何,+1
    • 语言回退现在(最终)在 Sitecore 8.1 中是原生的。
    【解决方案2】:

    您应该在 Sitecore 中检查名为 Language Fallback 的内容。

    有很多关于它的博客文章,例如:

    http://jonathandeveloper.com/2014/07/sitecore-7-language-fallback-revisited-and-glass/

    市场上还有一个Language Fallback Sitecore module(但仅与所描述的 Sitecore 6 一起使用)。

    【讨论】:

    • 谢谢,将Glass.Mapper 用于语言后备是否有意义。我的意思是我以前从未在我网站的任何地方使用过它。
    • 不,不要引入 GM 仅用于语言后备。使用 Sitecore Marketplace 中的 Language Fallback 模块。有关更多详细信息,请参阅@SitecoreClimber 答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多