Ram*_*m G 8 tridion tridion-2011
我试图使用PublicationID获取在给定出版物中发布的所有结构组.我期望StructureGroupCriteria通过传递根结构组TCM ID获取结构组,但获取页面ID(我期待SG).
现在我试图遍历列表并获取每个结构组的详细信息.我没有找到任何API(.net)来获取这些细节,而且API也只返回Pages.
我到目前为止所做的工作和返工工作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);
}
Run Code Online (Sandbox Code Playgroud)
问题1:如何获得所有结构组和单个结构组的详细信息?(可能是简单的,我无法找到正确的API).
问题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方面,我也可以看到taxnonomy表上的信息.
我正在使用 Odata 服务,偶然发现我可以从 Odata Web 服务获取所有结构组信息。
/cd_webservice/odata.svc/StructureGroups?$filter=PublicationId%20eq%2045
Run Code Online (Sandbox Code Playgroud)
此外,结果返回带有depth参数的子结构组。
只是为了澄清,使用 Broker API 获取结构组是不可行的(我原来的问题)。但是,解决方案是使用 OData 服务来获取结构组。
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |