我正在尝试使用 PublicationID 获取在给定出版物中发布的所有结构组。我期望StructureGroupCriteria
通过传递根结构组 TCM ID 但获取页面 ID 来获取结构组(我期待 SG)。
现在我正在尝试遍历列表并获取每个结构组的详细信息。我没有找到任何 API (.net) 来获取这些详细信息,而且 API 只返回页面。
到目前为止,我所做的和使用的工作StructureGroupCriteria
返回页面 ID 列表而不是 SG ID
PublicationCriteria pubCriteria = new PublicationCriteria(pubID);
// Root StructureGroup TCM ID -- tcm:45-3-4
StructureGroupCriteria sgCriteria = new StructureGroupCriteria("tcm:45-3-4", true);
Criteria allSGsInPub = CriteriaFactory.And(pubCriteria, sgCriteria);
Query allSGs = new Query(allSGsInPub);
string[] sgInfo = allSGs.ExecuteQuery();
Response.Write("Total : " + sgInfo.Length);
foreach (string sgid in sgInfo ) {
// HOW DO I get the Structure Group Details here
//TCMURI sgURI = new TCMURI(sgid);
}
Q #1 : 如何获取所有结构组和单个结构组的详细信息?(可能很简单,我找不到合适的 API)。
Q#2:如何使用ItemTypeCriteria sgCriteria = new ItemTypeCriteria(4); // 4 is SG Item Type
.
当我尝试此选项时,查询成功,但未返回任何结果。这是预期的行为,我们应该总是使用StructureGroupCriteria
而不是ItemTypeCriteria
吗?
采用这种方法的原因是,我想避免使用上述代码所需的 Root StructureGroup ID。但目前,没有任何方法返回 StructureGroup 信息,我总是得到页面信息。
Tridion 版本:2011 SP1,.net API。
注意:当我发布时,我正在检查发布 SG 信息复选框并成功发布。在 Broker DB 方面,我也可以看到分类表上的信息。