Sitecore部分语言后备不退

时间:2013-08-28 18:03:27

标签: sitecore translation fallback language-translation

我们正在尝试实施Alex Shyba's Partial Language Fallback module

我相信我们已根据视频正确配置了所有内容。我们在Sitecore中将ES的后备语言设置为EN。我们已经验证了模板和项目的ES版本。

我们已在主页模板的所有字段上启用了回退功能。

在Sitecore中创建西班牙语版本后,我切换到版本,它似乎正在回退到EN。以下是主数据库和Web数据库在客户端中的显示方式: Master and Web View

这是屏幕截图是WEB db上的ES版本。您可以看到图像和链接字段中有内容。

但是,当我点击网站时,内容返回null并且无法显示。

debug

由于缺乏文档(我可以找到)以及网络上的好例子,该模块有点痛苦。

有人可以提供指向良好工作示例的链接,还是分享他们如何配置多站点,多语言的sitecore?

2 个答案:

答案 0 :(得分:4)

我认为你误解了模块是如何工作的。根据您提供的链接中的文档,该模块会检测当前上下文语言中 缺少版本 。如果未检测到任何版本,则会回退到下一个可用的语言版本。

  

从Sitecore数据库检索项目时,提供程序   检查项目是否具有所请求语言的版本。如果   是的,然后该项目返回给调用者。如果没有   数据库中请求的语言版本,然后是提供者   执行后备操作:

     

[从数据库中检索后备语言中的最新可用项目版本]

您声明已将ES的后备设置为EN,并且您已验证该项目的ES版本存在。从模块的角度来看,一切都很笨拙......确实有一个西班牙语版本,所以它会使用它而不是试图回退。

也就是说,这并不能解释为什么调试时你的字段为空。我怀疑你只需要用两种语言重新发布网站。

答案 1 :(得分:2)

我非常了解Alex的部分语言后备工具是如何工作的。我最近在sitecore的技术博客区发布了10个关于该主题的博客系列。如果您想查看有关如何配置以及所有配置含义的详细信息,请参阅此帖子: http://www.sitecore.net/Community/Technical-Blogs/Elizabeth-Spranzani/Posts/2014/03/Fallback-Series-Post-2.aspx

您确实是正确的,它基于字段回退,而不是语言版本。您需要确保拥有以下内容:

  1. 在您正在前端和shell站点上使用的站点的站点节点中启用了回退。
  2. 在standardValues SupportedDatabases设置中引用的Web数据库和主数据库
  3. 在侧节点中强制实施版本状态设置为' false'或者设置为' true'并使用您的语言创建版本
  4. 您希望后备语言设置为回退到系统/语言部分中的主要语言
  5. 英语'中的字段。该模板的版本具有'启用后备'选中复选框。
  6. 以两种语言版本发布项目
  7. 除非您将配置中的Fallback.VaryFallbackSettingsPerLanguage设置为true,否则您需要拥有不同语言版本的模板。并且我不建议这样做,除非你希望该字段以某些语言回退而不是其他语言。我没有遇到过必要的情况。但是,如果您决定这样做,则需要确保选中每种语言版本中每个字段的复选框。

    我在这里有一个部分语言回退模块的完整工作演示: https://github.com/Verndale-Corp/Sitecore-Fallback-FullDemo

    确保在内容编辑器中取消选中标准字段复选框,以查看'后备值'文本显示以指示某个字段是否正在退回。否则,它只会显示标准值'。

    利兹