5

Tridion 2011 CoreService を使用するように .NET バックエンド アプリケーションを書き直しています。特定のキーワードを使用する Tridion 内のフォルダーを取得する部分が 1 つあります。現在のセットアップでは、これはキーワード自体でメソッド 'GetListClassifiedItems' を呼び出すことによって行われますが、CoreService を使用してこれを行うにはどうすればよいでしょうか?

CoreService API で利用できるClassifiedItemsFilterDataがありますが、どのように使用すればよいですか?

私はこのコードを試しました:

ClassifiedItemsFilterData filter = new ClassifiedItemsFilterData()
{
    ItemTypes = new ItemType[] { ItemType.Folder }
};

XElement list = client.GetListXml("tcm:113-363331-1024", filter);

ただし、URI tcm:113-363331-1024 のキーワード自体のみが返され、それで分類されたフォルダーは返されません。

コンポーネント ItemType もフィルターに追加すると、このキーワード k で分類されたすべてのコンポーネントが取得されますが、それでもそのフォルダーは取得されません

フォルダも取得するにはどうすればよいですか?

4

1 に答える 1

5

同様のテストを実行すると、結果にフォルダーとコンポーネントの両方が含まれます

var filter = new ClassifiedItemsFilterData();
filter.ItemTypes = new ItemType[] {ItemType.Folder};
var transactions = client.GetListXml("tcm:1-134-1024", filter);
Console.WriteLine(transactions.ToString());

メタデータスキーマにキーワードフィールドを追加し、それをフォルダーに関連付けました。それはあなたがそれをしたのと同じ方法ですか?

上記のコードからアイテムタイプフィルターを削除すると、そのキーワードに対して分類されたすべてのコンポーネントとフォルダーが取得されますが、キーワード自体は取得されません。これらはすべて、私が期待するとおりに機能するClassifiedItemsFilterDataため、シナリオの違いに焦点を当てる必要があります。

于 2012-07-23T13:25:04.293 に答える