2017-04-07 51 views
1

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

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

// ED。我有一个帮助程序方法,它会执行称为GetField()的错误检查,这是我的错误。 要增加更多的清晰度:如果我进入CE并说增加一个字符到值的末尾并按下保存,这会正常工作。 (覆盖标准值)

返回值为空。

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

+0

刚刚发现此问题以及现在要深入挖掘,但我认为这可能是一个Sitecore错误,你能告诉我你遇到这个错误的Sitecore的版本吗? –

回答

0

尝试:。的点域()代替.GetField()

像Html.Sitecore()字段(ID,项目);

+0

我实际上使用Field,键入一个帮助字段的名字来检查null。 –

0

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

我说是有解决方案的原因是因为我甚至在我读到答案之前就能够解决这个问题。简单地说,看起来Sitecore在项目后退的情况下不会为字段提取标准值,就好像我禁用项目后退一样,标准值的字段在代码中不再为空:(

但是一个可能更好的解决方案是字段如果您在模板中的确切字段上启用了字段级别回退功能,则会在收回物品回退时引入标准值

相关问题