1

C# コードで Sitecore 高速クエリを使用して、条件に一致するアイテムとサブアイテムを取得しました。しかし、高速クエリはアイテムを返しません。

私の高速クエリは次のようなものです。 fast:/sitecore/content/...//*[@__Workflow state='{item id}']

これはアイテムを返しませんがfast:、クエリから削除するとアイテムが返されますが、時間がかかります。

以下のようにクエリパスのスペースをエスケープしようとしましたが、うまくいきませんでした。 fast:/sitecore/content/...//*[@#__Workflow state#='{item id}']

高速クエリを使用してフィルタリングでサブアイテムを取得する方法はありますか?

4

1 に答える 1

0

クエリで theee ドットを使用していることに気付きましたが、これは正しくありません。2 つのドットを使用して親アイテムを選択できますが、クエリで親を選択するの/sitecore/contentは少し奇妙に思えます。

このクエリでできるようです:

fast:/sitecore/content//*[@__Workflow state='{item id}']

構文と例、および通常のクエリの代わりに高速クエリを使用する場合の制限については、このドキュメントも参照してください。

編集:

Sitecore Fast クエリはコンテキスト言語を考慮しません (結果には、任意の言語のクエリに一致するバージョンのアイテムが含まれます)。Sitecore の Developer Center で簡単なテストを行ったところ、私の場合、現在のコンテキスト言語ではなく、英語でワークフロー状態が設定されたアイテムしか表示されませんでした。これは、あなたの状況で経験することかもしれません。

于 2013-02-20T12:52:26.060 に答える