如何在Tridion 2011 CoreService中使用ClassifiedItemsFilterData文件夹?

时间:2012-07-23 10:23:52

标签: tridion tridion-2011

我正在重写.NET后端应用程序,以便它使用Tridion 2011 CoreService。 有一部分它会在Tridion中获得一个使用特定关键字的文件夹。 在当前设置中,这是通过在关键字本身上调用方法'GetListClassifiedItems'来完成的,但是我想如何使用CoreService执行此操作?

CoreService API中提供了 ClassifiedItemsFilterData ,但我该如何使用它?

我尝试过这段代码:

ClassifiedItemsFilterData filter = new ClassifiedItemsFilterData()
{
    ItemTypes = new ItemType[] { ItemType.Folder }
};

XElement list = client.GetListXml("tcm:113-363331-1024", filter);

但它只会返回关键字本身,URI为tcm:113-363331-1024,而不是使用它分类的文件夹。

如果我也将组件ItemType添加到过滤器中,我将获得所有已使用此keywordk分类的组件,但仍然不是该文件夹

我如何获得该文件夹?

1 个答案:

答案 0 :(得分:5)

当我进行类似的测试时,我 在我的结果中同时获取文件夹和组件

var filter = new ClassifiedItemsFilterData();
filter.ItemTypes = new ItemType[] {ItemType.Folder};
var transactions = client.GetListXml("tcm:1-134-1024", filter);
Console.WriteLine(transactions.ToString());

我在元数据架构中添加了一个关键字字段,并将其与文件夹相关联。这和你做的一样吗?

当我从上面的代码中删除项目类型过滤器时,我会根据该关键字对所有组件和文件夹进行分类,但我获取关键字本身。这些都是我期望ClassifiedItemsFilterData能够正常工作的方式,所以我们真的应该关注你的场景中的不同之处。