我可以在Sitecore 8中获取页面语言版本的字段值

时间:2018-06-27 16:08:45

标签: sitecore field sitecore8

我想获取页面语言版本中的字段值。例如,我在en-us中有一个名为Search Placeholder的项目,在en-us页面上的字段值为“ Select ..”,它显示了该值。但是,当我在en-gb中创建搜索占位符并输入值“ Select2 ...”时,使用下面的代码。它在en-gb页面上显示为空白。

string fieldName = "Search Placeholder Text";
Sitecore.Data.Items.Item someItem = Sitecore.Context.Database.GetItem("/sitecore/content/site/shared-content/Search Placeholder");
Sitecore.Data.Fields.Field someField = someItem.Fields[fieldName]; 
string searchPlace = someField.Value;

是否可以检查Search Placeholder是否具有页面的语言版本?

1 个答案:

答案 0 :(得分:2)

首先,您可以将所选语言传递给GetItem方法:

Sitecore.Context.Database.GetItem(path, language)

然后您可以使用以下命令检查项目是否具有该语言的任何版本:

someItem.Versions.Count > 0

如果项目具有多个版本,并且字段为null,则意味着在将字段添加到模板后该项目尚未发布,或者字段项目本身尚未发布。