4

CMSのコンテンツはキーワードでタグ付けされ、公開後はトラッキングキーとして使用され、ページが読み込まれるたびに値が増加します。以前は、DBクエリがTridion Broker DBで使用され、タグクラウドが生成されていました。これを変更して、代わりにTridionBrokerAPIを使用したいと思います。

Tridion Online Documentationには良い例があります(最初にhttp://sdllivecontent.sdl.com/ にログインしてください)。この例は、APIを使用してキーワードの数を取得する方法を示しています。

一度にcount1キーワードを取得するのではなく、集計クエリが必要です。BrokerAPIまたはAmbientFrameworkを使用することは可能ですか?

string strTaxURI = "tcm:34-70-512", strTaxKeywordURI = "tcm:34-549-1024";
Query myQuery = new Query();
Criteria myCriteria = null;

TaxonomyKeywordCriteria taxonomyKeywordCriteria = new TaxonomyKeywordCriteria(strTaxURI, strTaxKeywordURI, false);
myCriteria = taxonomyKeywordCriteria;
myQuery.Criteria = myCriteria;

// filter code limiting results commented out....

string[] itemURIs = myQuery.ExecuteQuery();
foreach (string itemURI in itemURIs)
{
      Response.Write(itemURI + ", ");
}
4

1 に答える 1

4

BrokerQueryAPIを使用して必要なことを達成できるとは思わないでください。ただし、Taxonomy APIを使用して、完全な分類法を取得し、その分類法の各キーワードのReferencedContentCountを確認することができます。

TaxonomyFactory taxonomyFactory = new TaxonomyFactory();
Tridion.ContentDelivery.Taxonomies.Keyword category = taxonomyFactory.GetTaxonomyKeywords("tcm:9-3-512");
Response.Write(category.ReferencedContentCount);

if (category.HasChildren)
{
     // get the category.KeywordChildren and loop over them
}

お役に立てれば。

乾杯、ダニエル。

于 2012-10-31T15:21:45.857 に答える