我们遇到了一个问题,我们在基本模板上的项目级别启用了后备语言设置,以便它可以应用于我们的所有项目。虽然sitecore内容编辑器表明它正在运行,但它对我们大约90%的项目起作用,但对其他项目则没有。
将此文件放在此处,以解决此问题。我没找到具体的 谷歌解决这个问题的解决方案,很幸运能够解决这个问题。希望这也可以帮助其他人。
我们的设置是Sitecore 8.1与Habitat Asp.net MVC
答案 0 :(得分:6)
以下是通过将项目级别设置应用于基本模板,使语言回退适用于所有项目的一些步骤。
第1步
启用语言回退的第一步是设置回退树。 我们可以构建一个层次结构(或简单的线性),以便语言可以回归 示例:
在我们的案例中,我们会这样做:EN-NZ - > EN
通过在每个语言节点上设置后备语言来完成/ Sitecore / System / Languages:
第2步
接下来,我们为网站启用语言后备功能。 在已部署的网站上,找到配置文件 Sitecore.LanguageFallback.config 并修改配置以适用以下设置:
<setting name="LanguageFieldFallback.AllowVaryFallbackSettingsPerLanguage" value="true" />
…
<sites>
<site name="shell">
<patch:attribute name="enableItemLanguageFallback">true</patch:attribute>
<patch:attribute name="enableFieldLanguageFallback">true</patch:attribute>
</site>
<site name="website">
<patch:attribute name="enableItemLanguageFallback">true</patch:attribute>
<patch:attribute name="enableFieldLanguageFallback">true</patch:attribute>
<patch:attribute name="enforceVersionPresence">true</patch:attribute>
</site>
</sites>
回收应用程序池
第3步
现在为网站启用了该功能,我们必须在项目级别启用该功能。
我们可以在标准模板上应用这些设置,该设置将应用于所有继承它的项目
这将使我们90%的物品和领域工作,但有一个警告;这仅适用于未从标准值继承其值的字段。
您可以通过在内容编辑器中查看项目来轻松识别这些字段
这与“启用项目后备”选项如何继承标准模板的标准值有关,而Sitecore不会将设置应用于也从标准值继承的字段。
要处理此方案中的字段/项目,您可以执行以下两项操作之一:
注意: 我相信这是一个错误,因为当您更改语言时,内容编辑器仍会将字段显示为从后备语言继承其内容,但是在您执行上述方法之一之前,内容不会在网站上呈现
<强>评论强>
答案 1 :(得分:0)
我遇到了类似的问题,这就是为什么。
就我而言,我有一个数据源模板DChild,它从另一个数据源模板DMother继承。 DChild和DMother都具有标准值
当我从DChild模板创建项目时,其值由DChild的标准值设置的所有字段的语言回退值均来自DMother标准值,而不是DChild标准值。
这是由于未在DChild标准值中启用回退,而在DMother标准值中启用了后退。
棘手的吧?