如何使用categoriesdata从Tridion获取类别

时间:2012-08-23 04:11:28

标签: tridion tridion-2011

我一直在寻找一种方法,如何使用Categoriesdata从Tridion中获取所有类别。我在尝试如下,但显示错误。

CoreServiceSession client = new CoreServiceSession();
SessionAwareCoreServiceClient csClient = client.GetClient();
ReadOptions readoption = new ReadOptions();

CategoriesFilterData filter = new CategoriesFilterData();
XElement xml = csClient.GetSystemWideList(filter);

1 个答案:

答案 0 :(得分:9)

您需要使用GetListXml而不是GetSystemWideList,并指定要从中检索类别的发布ID:

CategoriesFilterData filterData = new CategoriesFilterData();
XElement resultXml = client.GetListXml(publicationId, filterData);

GetSystemWideList通常用于检索系统范围内的内容,而不仅限于1个发布,例如PublicationTargets和MultimediaTypes

您也可以尝试搜索查询,如下所示:

SearchQueryData filter = new SearchQueryData(); 
filter.ItemTypes = new ItemType[] { ItemType.Category }; 

IdentifiableObjectData[] results = client.GetSearchResults(filter);
foreach (IdentifiableObjectData obj in results)
{
    Console.WriteLine(String.Format("{0} - {1}", obj.Title, obj.Id));
}