Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个模板ID在Sitecore';s高级数据库爬虫程序_Sitecore - Fatal编程技术网

多个模板ID在Sitecore';s高级数据库爬虫程序

多个模板ID在Sitecore';s高级数据库爬虫程序,sitecore,Sitecore,我有一个“特色”小部件,可以引导访问者找到我想在某些页面上展示的项目。所以我试图让Alex Shyba的Sitecore高级数据库爬虫程序返回所有引用上下文项的项。如果我输入一个模板ID,它就可以正常工作。但是如果我用管道分隔这两个模板,我永远不会得到结果。我做错了什么 var searchParam=新的多字段搜索参数() { Database=Sitecore.Context.Database.Name, Language=Sitecore.Context.Language.Name, Te

我有一个“特色”小部件,可以引导访问者找到我想在某些页面上展示的项目。所以我试图让Alex Shyba的Sitecore高级数据库爬虫程序返回所有引用上下文项的项。如果我输入一个模板ID,它就可以正常工作。但是如果我用管道分隔这两个模板,我永远不会得到结果。我做错了什么

var searchParam=新的多字段搜索参数()
{
Database=Sitecore.Context.Database.Name,
Language=Sitecore.Context.Language.Name,
TemplateId=“{E5B41848-3C07-4F17-84A5-C2C29AD43CAE}{0C2E35D7-C4C9-478B-B4AB-DE8C2A00908B}”
};            
变量优化=新列表();
添加(新的多字段搜索参数优化(“页面”,contextItemGUID));
searchParam.definitions=细化;
var runner=新的QueryRunner(“web”);
foreach(runner.GetItems(searchParam)中的变量skinnyItem)
{
生成返回skinyItem.GetItem();
}

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

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

受保护的无效ApplyTemplateFilter(组合查询、字符串模板ID、查询发生)
{
ApplyIdFilter(查询、内置字段、模板、模板ID、事件);
}

转换为短ID也没有帮助。相同的结果:1个模板ID,它很好。这是一个bug。请参阅本文中我的解决方案:在哪个名称空间中使用ApplyIdFilter?