gpt4 book ai didi

sitecore - 语言回退不适用于具有标准值的字段(Sitecore 8.1)

转载 作者:行者123 更新时间:2023-12-04 00:06:50 26 4
gpt4 key购买 nike

我们遇到了一个问题,即我们在基础模板的项目级别启用了后备语言设置,以便它适用于我们的所有项目。它适用于我们大约 90% 的项目,但不适用于其他项目,即使 sitecore 内容编辑器表明它有效。

为遇到此问题的其他人提供此信息。我没有找到具体的谷歌上这个问题的解决方案,很幸运能弄清楚。希望这也可以帮助其他人。

我们的设置是带有 Habitat Asp.net MVC 的 Sitecore 8.1

最佳答案

以下是通过将项目级别设置应用于基本模板来使语言回退适用于所有项目的一些步骤。

第 1 步

启用语言回退的第一步是设置回退树。我们可以为语言建立一个层次结构(或简单的线性)来回退到示例:

Tree Fallback example

在我们的例子中,我们会这样做:EN-NZ --> EN

这是通过在每个语言节点上设置备用语言来完成的/Sitecore/System/Languages:

enter image description here

第 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 步

现在该功能已为网站启用,我们必须在项目级别启用该功能。

  1. 导航到站点核心内容编辑器中的项目并查看“高级”部分
  2. 如果“高级”部分不可见;选择查看选项卡并检查标准字段选项
  3. 选中启用项目后备选项。 (如果不存在语言版本,则显示备用语言的项目)
  4. 要将页面限制为某种语言,请选中强制版本存在选项。如果找不到特定语言的版本,Sitecore 的默认行为是返回一个空项目。呈现项目或尝试通过 Sitecore API 访问项目时会发生这种情况。如果请求的语言没有可用的版本,此选项可让您告诉 Sitecore 不要退回项目。这最终会将用户重定向到 404(未找到)页面,或者在尝试通过 API 获取项目时返回 NULL。

我们可以在标准模板上应用这些设置,该设置将应用于所有继承它的项目

  1. 导航到标准模板
  2. 如果不存在则创建标准值
  3. 设置启用项目后备选项

这将使我们 90% 的项目和字段正常工作,但是有一个警告;这仅适用于不从标准值继承其值的字段。

您可以通过在内容编辑器中查看项目来轻松识别这些字段

enter image description here

这与启用项目后备选项如何也继承自标准模板的标准值有关,Sitecore 不会将该设置应用于同样继承自标准值的字段。

要在这种情况下处理字段/项目,您需要做以下两件事之一:

  1. 修改 Item 上的字段,使其不继承自标准值或者:
  2. 在项目模板上创建标准值 - 它将从标准模板的标准值继承启用项目后备选项
    1. 取消选中该选项并保存
    2. 重新检查选项并保存,使其不再继承设置
    3. 现在启用项目后备选项不会被继承,它将适用。项目上从标准值继承的字段现在将回退并呈现

注意:我认为这是一个错误,因为当您更改语言时,内容编辑器仍将字段显示为从备用语言继承其内容,但是在您执行上述方法之一之前,内容不会在网站上呈现

评论

  • 还有字段级设置可以应用相同的设置。
  • 另外值得注意的是,如果您遇到上述问题并在字段级别应用设置,则在您执行上述步骤之前它仍然无法正常工作。

关于sitecore - 语言回退不适用于具有标准值的字段(Sitecore 8.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39585520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com