ワークボックスをオーバーライドしてカスタマイズしました。デフォルトでは、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();