【问题标题】:Standard Values value correct in CE but null in Code标准值值在 CE 中正确,但在代码中为空
【发布时间】:2017-04-07 19:43:02
【问题描述】:

如果我在基本模板的标准值上设置字段的值,则标准值会显示在内容编辑器(和 Rocks 中)的该字段中,但是当我在代码中通过 ID 引用该字段时

Html.Sitecore().Field(ID, Item);

//ED。我有一个名为 GetField() 的错误检查辅助方法,这是我的错误。 为了更清楚:如果我进入 CE 并说在值的末尾添加一个字符并按保存,这将正常工作。 (覆盖标准值)

返回值为空。

这既适用于标准值更改后创建的新项目,也适用于当前项目。

【问题讨论】:

  • 刚刚也遇到了这个问题,打算深入挖掘,但我认为这可能是一个 Sitecore 错误。您能告诉我您遇到此错误的 Sitecore 版本吗?

标签: sitecore sitecore8 sitecore8.2


【解决方案1】:

尝试:.Field() 代替 .GetField()

就像在 Html.Sitecore().Field(ID, Item);

【讨论】:

  • 我实际上是在使用 Field,输入了一个检查 null 的辅助字段的名称。
【解决方案2】:

我认为问题在这里得到了解答,尽管它似乎是关于项目后备和从标准值继承其值的字段的 Sitecore 错误: Language Fallback not working for Fields with Standard Values (Sitecore 8.1)

我之所以说有解决方案是因为我什至在阅读该答案之前就能够以这种方式解决它。简而言之,在项目回退的情况下,Sitecore 似乎不会为字段提取标准值,就好像我禁用了项目回退,具有标准值的字段在代码中不再为空:(

但可能更好的解决方案是字段级回退:如果您在模板中的确切字段上启用字段级回退,则当项目回退发生时,它也会拉入标准值。

【讨论】:

    猜你喜欢
    • 2022-10-25
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    相关资源
    最近更新 更多