4

我正在寻找一个 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 调用的数量也在增加以获取其中的相应页面。这会在 CPU 飙升至 50% 的数据库服务器端引起性能问题。

是否有一个 API 调用可以获得具有某种关系的结构组和页面,以便我们可以通过单个 API 调用轻松地对它们进行分层排列。

提前致谢。

4

1 回答 1

3

您可以将IncludeRelativeWebDavUrlColumn过滤器的属性设置为 true 以获取一些附加信息

于 2013-03-09T21:36:22.437 回答