1

我通过覆盖它来定制工作箱。默认情况下,Workbox 显示处于特定工作流状态的所有版本的项目。我只需要最后一个版本出现在工作箱中。玩弄了这个DisplayStates(IWorkflow workflow, XmlControl placeholder)方法,但没有运气。

我怎样才能做到这一点?

4

1 回答 1

3

您需要覆盖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();
于 2013-08-30T08:48:52.783 回答