特定のコンポーネント テンプレートを使用して、ブローカー データベースからすべてのコンポーネント プレゼンテーションをレンダリングしようとしています。これまでのクエリ コードは次のとおりです。
using Tridion.ContentDelivery.DynamicContent;
using Tridion.ContentDelivery.DynamicContent.Query;
ItemTemplateCriteria CTCriteria = new ItemTemplateCriteria(1111);
PublicationCriteria pubCriteria = new PublicationCriteria(10);
AndCriteria finalCriteria = new AndCriteria(pubCriteria, CTCriteria);
Response.Write("<h1>START</h1>");
Query q = new Query();
q.Criteria = finalCriteria;
string[] result = q.ExecuteQuery();
if (result != null && result.Length > 0)
{
foreach (string r in result)
{
Response.Write("<h1>" + r + "</h1>");
}
}
else {
Response.Write("Result is null or 0-length.");
}
Response.Write("<h1>END</h1>");
結果を出し続けていnull
ます。動的コンテンツの公開設定がcd_storage_conf.xml
あり、Broker データベースでいくつかのコンポーネント プレゼンテーションが公開されています。
このドキュメントからの私の理解では、このアプローチを使用して関連するコンポーネント URI を取得できるはずです。
私の質問:
Query
クラスの機能に関する私の理解は正しいですか?- 構成とコードに関して何か見逃しましたか?
- コンポーネント テンプレートによってブローカー コンテンツを取得する他の方法はありますか?
編集:
追加情報: に関してItemTemplateCriteria
は、これが Component Template によるレコードの検索に使用されると想定しただけです。と呼ばれる別の基準クラスがあるため、私は推測しましたPageTemplateCriteria
。この仮定が無効である場合は、修正してください。
編集:
追加情報: ブローカ データベースのCOMPONENTS
、SCHEMA
およびTEMPLATES
テーブルを調べましたが、公開されたコンポーネントが見つかりませんでした。のデフォルト ルールではcd_storage_conf.xml
、公開されたコンテンツはブローカに送信される必要があります。参考までに、私の設定は次のとおりです。
<Publication Id="57" defaultStorageId="brokerdb" cached="false">
<Item typeMapping="ComponentPresentation" storageId="brokerdb" cached="false" />
<Item typeMapping="BinaryMeta" cached="true" storageId="brokerdb"/>
<Item typeMapping="BinaryVariant" cached="true" storageId="brokerdb"/>
<Item typeMapping="Binary" storageId="defaultFile" cached="true"/>
<Item typeMapping="ComponentMeta" cached="true" storageId="brokerdb"/>
<Item typeMapping="ComponentPresentationMeta" cached="true" storageId="brokerdb"/>
<Item typeMapping="ItemMeta" cached="true" storageId="brokerdb"/>
<Item typeMapping="LinkInfo" cached="true" storageId="defaultDataFile"/>
<Item typeMapping="DynamicLinkInfo" cached="true" storageId="defaultDataFile"/>
<Item typeMapping="Page" cached="true" storageId="defaultFile"/>
<Item typeMapping="PageMeta" cached="true" storageId="defaultDataFile"/>
<Item typeMapping="Reference" storageId="brokerdb"/>
<Item typeMapping="Schema" storageId="brokerdb"/>
</Publication>