3

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

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

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

1 回答 1

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));
}
于 2012-08-23T06:24:12.233 回答