Sitecore工作箱仅显示项目的最新版本

时间:2013-08-30 08:39:34

标签: sitecore sitecore6 sitecore-workflow

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

我该怎么做?

1 个答案:

答案 0 :(得分: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();