3

我们正在尝试实现Alex Shyba 的 Partial Language Fallback 模块

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

我们在 Home 模板的所有字段上启用了后备。

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

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

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

调试

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

有人可以提供一个好的工作示例的链接或分享他们如何配置多站点、多语言站点核心吗?

4

2 回答 2

4

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

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

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

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

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

于 2013-08-28T19:26:20.943 回答
2

我非常了解 Alex 的 Partial Language Fallback 工具的工作原理。我最近在 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 和 master 数据库
  3. 将侧节点中的版本存在设置设置为“false”或设置为“true”,并以您的语言创建版本
  4. 您希望在系统/语言部分中将回退设置为回退到主要语言的语言
  5. 模板的“英文”版本中的字段已选中“启用后备”复选框。
  6. 以两种语言版本发布项目

您不需要有不同语言版本的模板,除非您将配置中的 Fallback.VaryFallbackSettingsPerLanguage 设置为 true。我不建议这样做,除非您希望该字段以某些语言而不是其他语言回退。我还没有遇到必要的情况。但是,如果您决定这样做,则需要确保为每个语言版本中的每个字段选中复选框。

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

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

丽兹

于 2014-04-30T20:03:43.300 回答