我正在寻找一个Tridion API调用来获取包含所有结构组及其下面的页面的 XML,并具有某种层次关系.截至目前,我无法在SDL Tridion文档中找到此类API调用.目前我们正在使用以下API调用来获取结
Filter filter = new Filter(); filter.Conditions["ItemType"] = 4; // Only structure groups filter.Conditions["Recursive"] = true; XmlElement structureGroupList = page.ContextRepository.GetListOrganizationalItems(filter);
然后我们遍历每个结构组以获取包含在各个结构组下面的Pages节点的XML.
OrganizationalItemItemsFilter pageItemFilter = null; pageItemFilter = new OrganizationalItemItemsFilter(this.session); pageItemFilter.ItemTypes = new[] { ItemType.Page }; pageItemFilter.Recursive = false; XmlElement pageElements = structureGroup.GetListItems(pageItemFilter);
随着结构组数量的增加,Tridion API调用的数量不断增加,以获取其中的相应页面.这导致DB服务器端的性能问题,其中CPU的峰值达到50%.
是否有单个API调用可以获取结构组和具有某种关系的Pages,以便我们可以使用单个API调用轻松地对它们进行排序.
提前致谢.
您可以将过滤器的IncludeRelativeWebDavUrlColumn属性设置为true以获取一些其他信息