2013-08-28 48 views
3

我们正试图实现Alex Shyba'sPartial Language Fallback moduleSitecore的部分语言回退不回落

我相信我们所拥有的一切正确配置基于视频。我们已经将ES的回退语言设置为Sitecore中的EN。我们已经验证了模板和项目的ES版本。

我们启用备用的主页模板的所有领域。

在Sitecore中创建西班牙语版本后,我切换到版本,并且似乎正在退回到EN。这里是主数据库和Web数据库如何出现在客户端: Master and Web View

这是屏幕截图是ES数据库版本的WEB数据库。您可以看到图片和链接字段中包含内容。

然而,当我打的网站,内容返回null,未能显示。

debug

该模块是有点,因为缺少文档(我能找到),并很好的例子在网络上的痛苦。

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

回答

2

我很了解Alex的部分语言后退工具是如何工作的。我最近在sitecore的技术博客区发布了一篇关于该主题的10篇博客系列。如果你想看到有关如何配置它,什么都配置意味着详情,请参阅这篇文章: http://www.sitecore.net/Community/Technical-Blogs/Elizabeth-Spranzani/Posts/2014/03/Fallback-Series-Post-2.aspx

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

  1. 回退在您正在使用的网站的前端和外壳网站的站点节点中启用回退。
  2. 无论在standardValues SupportedDatabases引用的网页和主数据库中设置
  3. 强制版本存在于设置为“假”或设置为“真”的一面节点设置,并已版本在你的语言
  4. 语言创建想要将故障预置设置回到系统/语言部分的主要语言
  5. 模板“英语”版本中的字段已选中“启用回退”复选框。
  6. 发布在这两个语言版本

你不需要拥有的模板,不同的语言版本,除非你有Fallback.VaryFallbackSettingsPerLanguage中设置为true的配置项。我不会推荐这样做,除非您希望该字段以某些语言而不是其他语言回退。我没有遇到这种必要的情况。但是,如果您决定执行此操作,则需要确保每个语言版本中的每个字段的复选框都已选中。

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

确保取消选中标准字段复选框,当在内容编辑,看到“的返回值”文戏,以指示是否领域正在回落。否则,它只会显示“标准值”。

利兹

4

我认为你曲解模块是如何工作的。根据你提供的链接的文档,该模块检测的由于缺少在目前情况下语言版本。如果未检测到任何版本,则会回退到下一个可用的语言版本。

当一个项目从Sitecore的数据库中检索,提供者 检查该项目是否具有所要求的语言版本。如果 是,则该项目返回给调用者。如果没有 版本中所要求的语言数据库,那么提供商 进行回退操作:

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

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

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

+0

我明白了部分语言回退是在那里,如果我创建项目的一个新的语言版本颗粒,基于现场备用模块,每个字段(如果启用)应该退回到自己的EN版本。所以在这种情况下,我有一个EN Home项目。我已在家庭模板的每个字段上启用了回退功能。因此,当我创建ES版本并修改标题字段时,其余字段应回退到其EN版本。当我创建家庭项目的ES版本时,即使我已经发布了很多次,每个字段都会返回NULL,包括修改后的标题。 – tofortier