sitecore - 在 Sitecore 8 中,我可以在页面的语言版本中获取字段值吗
问题描述
我想在页面的语言版本中获取字段值。例如,我在 en-us 中有一个名为 Search Placeholder 的项目,其字段值“Select..”在 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
如果 item 有多个版本并且该字段为 null,则表示在将字段添加到模板后尚未发布此 item,或者尚未发布字段 item 本身。
推荐阅读
- date - 有没有办法在谷歌表格的下拉列表中格式化和排序日期?
- python - How to create a queue class for queuing some lists?
- javascript - 如何修复运行两次功能但仅被调用一次的输入键的按键事件
- php - Laravel input number allow double values
- php - Make my php wait the end of my python script
- python - 我遇到的问题是我不知道如何使用分配的键绑定来移动我的 Sprite?
- javascript - How to convert an email message from ISO-8859-1 to UTF8 string in Javascript?
- wordpress - WordPress:使用自定义 Gutenberg 块嵌入代码
- angular7 - After importing bootstrap into app.module.ts, unexpected token < error araises
- mysql - Left join running much faster than inner join