PublicationIDを使用して、特定のパブリケーションで公開されているすべての構造グループを取得しようとしています。ルート構造グループのTCMIDを渡すことで構造グループを取得することを期待していStructureGroupCriteria
ますが、ページIDを取得することを期待しています(SGを期待しています)。
今、私はリストをループして、各構造グループの詳細を取得しようとしています。これらの詳細を取得するためのAPI(.net)が見つかりませんでした。また、APIはページのみを返します。
私がこれまでに行って作業してきたことはStructureGroupCriteria
、SGIDの代わりにページ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
ますか?
このアプローチの理由は、上記のコードで必要なルート構造グループIDの使用を避けたいためです。しかし、現時点では、StructureGroup情報を返すアプローチはなく、常にページ情報を取得します。
Tridionバージョン:2011 SP1、.netAPI。
注:公開するときは、[SG情報を公開する]チェックボックスをオンにして、正常に公開します。ブローカーDB側では、taxnonomyテーブルの情報も見ることができます。