我想在页面的语言版本中获取字段值。例如,我在en-us中有一个名为"搜索占位符"的项目,其字段值为"选择..",在en-us页面上显示该值。但是当我在 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;
有没有办法检查搜索占位符是否有页面的语言版本?
首先,您可以将所选语言传递给GetItem
方法:
Sitecore.Context.Database.GetItem(path, language)
然后,您可以使用以下命令检查项目是否具有该语言的任何版本:
someItem.Versions.Count > 0
如果项目的版本超过 0 个,并且字段为 null,则表示在将字段添加到模板后尚未发布此项目,或者字段项目本身尚未发布。