存在按字段列出的Sitecore快速查询筛选器,空
我是否可以在Sitecore Shell中的Developer Center下使用XPath Builder来选择节点下的所有项目,并根据字段(如果存在)和单行文本字段对其进行筛选? 使用快速查询(不受query.MaxItems设置的限制) 例如:存在按字段列出的Sitecore快速查询筛选器,空,sitecore,Sitecore,我是否可以在Sitecore Shell中的Developer Center下使用XPath Builder来选择节点下的所有项目,并根据字段(如果存在)和单行文本字段对其进行筛选? 使用快速查询(不受query.MaxItems设置的限制) 例如:fast://sitecore/content//*[@#我的领域#!=''] 但是此查询不区分空字段和不存在的字段,我希望结果中有空字段,而不是字段不存在的项目。以下是一篇文章,介绍如何修复快速查询以按字段搜索: 否则,类似的方法会起作用:
fast://sitecore/content//*[@#我的领域#!='']
但是此查询不区分空字段和不存在的字段,我希望结果中有空字段,而不是字段不存在的项目。以下是一篇文章,介绍如何修复快速查询以按字段搜索: 否则,类似的方法会起作用:
Item[] items = Sitecore.Context.Database.SelectItems("/sitecore/content//*[@MyField != '']")
或使用索引:
public IEnumerable<SearchExample> Example()
{
using (var context = ContentSearchManager.GetIndex(GlobalIndex).CreateSearchContext())
{
var query = context.GetQueryable<SearchExample>()
.Where(item => item.MyField != null)
.ToList();
return query;
}
}
public IEnumerable示例()
{
使用(var context=ContentSearchManager.GetIndex(GlobalIndex.CreateSearchContext())
{
var query=context.GetQueryable()
.Where(item=>item.MyField!=null)
.ToList();
返回查询;
}
}
不要认为使用sitecore查询是可能的。您可能必须使用linq来代替sitecore。我认为这是不可能的,为什么不按模板查询呢?您知道包含字段的所有模板。对,通过查询模板,我可以进行查询。