我通过覆盖它来定制工作箱。默认情况下,Workbox显示特定工作流状态中的所有项目版本。
我只需要在工作箱中显示最后一个版本。
使用DisplayStates(IWorkflow workflow, XmlControl placeholder)
方法,但没有运气。
我该怎么做?
答案 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();