我们正在尝试实施Alex Shyba's Partial Language Fallback module。
我相信我们已根据视频正确配置了所有内容。我们在Sitecore中将ES的后备语言设置为EN。我们已经验证了模板和项目的ES版本。
我们已在主页模板的所有字段上启用了回退功能。
在Sitecore中创建西班牙语版本后,我切换到版本,它似乎正在回退到EN。以下是主数据库和Web数据库在客户端中的显示方式:
这是屏幕截图是WEB db上的ES版本。您可以看到图像和链接字段中有内容。
但是,当我点击网站时,内容返回null并且无法显示。
由于缺乏文档(我可以找到)以及网络上的好例子,该模块有点痛苦。
有人可以提供指向良好工作示例的链接,还是分享他们如何配置多站点,多语言的sitecore?
答案 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
您确实是正确的,它基于字段回退,而不是语言版本。您需要确保拥有以下内容:
除非您将配置中的Fallback.VaryFallbackSettingsPerLanguage设置为true,否则您需要拥有不同语言版本的模板。并且我不建议这样做,除非你希望该字段以某些语言回退而不是其他语言。我没有遇到过必要的情况。但是,如果您决定这样做,则需要确保选中每种语言版本中每个字段的复选框。
我在这里有一个部分语言回退模块的完整工作演示: https://github.com/Verndale-Corp/Sitecore-Fallback-FullDemo
确保在内容编辑器中取消选中标准字段复选框,以查看'后备值'文本显示以指示某个字段是否正在退回。否则,它只会显示标准值'。
利兹