在Sitecore中使用BucketManager
我有一个简单的web应用核心库,用于测试Item Bucket API。我有一个属性和方法类,例如,我想使用属性和存储模板ID的常量类通过Sitecore中的电影项目bucket进行查询 我遇到的问题是,当使用BucketManager类调用静态方法Search()时,它无法识别第二个参数templates:“String” 以前有人有过这个问题吗?Sitecore中还有一个BucketList问题,其中只有模板的标准值显示BucketList TemplateFilter源(如果您对此bug感兴趣,请请求屏幕截图)。尝试添加此类字符串在Sitecore中使用BucketManager,sitecore,sitecore6,Sitecore,Sitecore6,我有一个简单的web应用核心库,用于测试Item Bucket API。我有一个属性和方法类,例如,我想使用属性和存储模板ID的常量类通过Sitecore中的电影项目bucket进行查询 我遇到的问题是,当使用BucketManager类调用静态方法Search()时,它无法识别第二个参数templates:“String” 以前有人有过这个问题吗?Sitecore中还有一个BucketList问题,其中只有模板的标准值显示BucketList TemplateFilter源(如果您对此bug
using Sitecore.ItemBucket.Kernel.ItemExtensions.Axes;
Sitecore项目Bucket Developer指南旨在排除名为out hitCount的非可选参数,该参数是一个允许结果分页的属性。没有这个参数,我有一个无效的方法签名,这导致了错误 以下是正确的代码:
public List<Item> GetAllMovies() {
var hc = 0;
return BucketManager.Search(
MovieFolder,
out hc,
templates: Constants.Constants.TemplateIDs.MoviesItemTemplateID
).Select(i=> i.GetItem()).Where(i=>i != null).ToList();
}
公共列表GetAllMovies(){
var hc=0;
返回BucketManager.Search(
电影文件夹,
在hc之外,
模板:Constants.Constants.TemplateId.MoviesItemTemplateID
).Select(i=>i.GetItem())。其中(i=>i!=null);
}
另外,不要忘记将IENumberable强制转换为项目列表。此类用于替换GetChildren()、Children和Axes方法。我将BucketManager类用于搜索方法,巧合的是,它们都使用templates属性。请检查下面我的答案以了解解决方案。