如何使用categoriesdata从Tridion获取类别

SDL*_*ner 3 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);
Run Code Online (Sandbox Code Playgroud)

Rei*_*Wit 9

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

CategoriesFilterData filterData = new CategoriesFilterData();
XElement resultXml = client.GetListXml(publicationId, filterData);
Run Code Online (Sandbox Code Playgroud)

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));
}
Run Code Online (Sandbox Code Playgroud)