首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个TemplateIds在Sitecore的高级数据库爬虫程序中不起作用

多个TemplateIds在Sitecore的高级数据库爬虫程序中不起作用
EN

Stack Overflow用户
提问于 2012-08-04 22:52:37
回答 1查看 497关注 0票数 1

我有一个“特色”小工具,引导访问者到我想要在某些页面上展示的项目。因此,我正在尝试让Alex Shyba的Advanced Database Crawler for Sitecore返回所有引用上下文项的项。如果我输入一个模板ID,它就能正常工作。但是如果我通过管道分隔这两个模板,我永远得不到结果。我做错了什么?

代码语言:javascript
复制
var searchParam = new MultiFieldSearchParam()
{
    Database = Sitecore.Context.Database.Name,
    Language = Sitecore.Context.Language.Name,
    TemplateIds = "{E5B41848-3C07-4F17-84A5-C2C29AD43CAE}|{0C2E35D7-C4C9-478B-B4AB-DE8C2A00908B}"
};            
var refinements = new List<MultiFieldSearchParam.Refinement>();
refinements.Add(new MultiFieldSearchParam.Refinement("pages", contextItemGUID));
searchParam.Refinements = refinements;

var runner = new QueryRunner("web");
foreach (var skinnyItem in runner.GetItems(searchParam))
{
    yield return skinnyItem.GetItem();
}

同样,如果我将该TemplateIds设置为单个GUID (任一),它将按预期工作,但显然只是返回指定模板的项。

EN

回答 1

Stack Overflow用户

发布于 2012-08-16 00:39:40

正如Mark所指出的,这是ADC中的一个错误。我们的解决方案是按如下方式重构ApplyTemplateFilter方法:

代码语言:javascript
复制
protected void ApplyTemplateFilter(CombinedQuery query, string templateIds, QueryOccurance occurance)
{
    ApplyIdFilter(query, BuiltinFields.Template, templateIds, occurance);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11809520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档