Tridion API调用以获取包含Structure组的Xml和具有某种层次关系的Page节点

时间:2013-03-09 08:23:07

标签: tridion tridion-2011

我正在寻找一个Tridion API调用来获取包含所有结构组及其下面的页面的XML,并使用某种层次关系。截至目前,我无法在SDL Tridion文档中找到此类API调用。目前我们正在使用以下API调用来获取结构组RAW XML列表:

 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调用轻松地对它们进行排序。

先谢谢。

1 个答案:

答案 0 :(得分:3)

您可以将过滤器的IncludeRelativeWebDavUrlColumn属性设置为true以获取其他信息