我一直在寻找一种方法,如何使用Categoriesdata从Tridion中获取所有类别。我在尝试如下,但显示错误。
CoreServiceSession client = new CoreServiceSession();
SessionAwareCoreServiceClient csClient = client.GetClient();
ReadOptions readoption = new ReadOptions();
CategoriesFilterData filter = new CategoriesFilterData();
XElement xml = csClient.GetSystemWideList(filter);
答案 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));
}