我通过覆盖它来定制工作箱。默认情况下,Workbox 显示处于特定工作流状态的所有版本的项目。我只需要最后一个版本出现在工作箱中。玩弄了这个DisplayStates(IWorkflow workflow, XmlControl placeholder)
方法,但没有运气。
我怎样才能做到这一点?
我通过覆盖它来定制工作箱。默认情况下,Workbox 显示处于特定工作流状态的所有版本的项目。我只需要最后一个版本出现在工作箱中。玩弄了这个DisplayStates(IWorkflow workflow, XmlControl placeholder)
方法,但没有运气。
我怎样才能做到这一点?
您需要覆盖DisplayStates()
方法并过滤DataUri[] items
数组:
List<DataUri> filteredUriList = new List<DataUri>();
DataUri[] items = this.GetItems(state, workflow);
for (int index = offset; index < num; ++index)
{
Item obj = Sitecore.Context.ContentDatabase.Items[items[index]];
if (obj != null && obj.Versions.IsLatestVersion())
filteredUriList.Add(items[index]);
}
items = filteredUriList.ToArray();