gpt4 book ai didi

tridion - 使用内容交付/代理 API 的结构组详细信息

转载 作者:行者123 更新时间:2023-12-02 18:44:57 25 4
gpt4 key购买 nike

我正在尝试使用 PublicationID 获取给定出版物中发布的所有结构组。我期望通过传递根结构组 TCM ID 但获取页面 id(我期望 SG)来获取具有 StructureGroupCriteria 的结构组。

现在我尝试遍历列表并获取每个结构组的详细信息。我没有找到任何 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);
}

问题#1:如何获取所有结构组和单个结构组详细信息? (可能很简单,我找不到正确的 API)。

Q # 2:如何使用 ItemTypeCriteria sgCriteria = new ItemTypeCriteria(4); 获取所有结构组//4 是 SG 项目类型

当我尝试此选项时,查询成功但没有返回结果。这是预期的行为吗?我们是否应该始终使用 StructureGroupCriteria 而不是 ItemTypeCriteria

采用这种方法的原因是,我想避免使用上述代码所需的根结构组 ID。但目前,没有任何方法返回 StructureGroup 信息,我总是得到页面信息。

Tridion 版本:2011 SP1,.net API。

注意:当我发布时,我会选中“发布 SG 信息”复选框并成功发布。在 Broker DB 端,我也可以看到分类表上的信息。

最佳答案

我在使用 Odata 服务时,意外地发现我可以从 Odata Web 服务获取所有结构组信息。

/cd_webservice/odata.svc/StructureGroups?$filter=PublicationId%20eq%2045

此外,结果返回带有深度参数的子结构组。

只是为了澄清,使用 Broker API 获取结构组是不可行的(我原来的问题)。但是,解决方案是使用 OData 服务获取结构组。

关于tridion - 使用内容交付/代理 API 的结构组详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12202380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com