2017-05-15 4 views
0

私はSitecore 7に次の構造を持っています。2011年に更新されたものの子孫を取得する必要があります。高速クエリまたはPredicateBuilderを使用して取得するにはどうすればよいですか?Sitecore:PredicateBuilderまたはFast Query for retrieval

ホーム
- (2011年に更新)かいま見
    -2009
    -2010
        -Article 1
        -Article 2
HOME1
- ピーク1
(2011年に更新)
        -Article 3     -    -2010

答えて

0

サイトコアの高速クエリを使用すると、ノードからのすべての子孫を取得する// *使用することができます。あなたが開発の中心部でXPath Builderを使用することができるサイトコア7では

fast:/sitecore/content//*[@__Updated >= '20110101T000000' and @__Updated < '20120101T000000'] 

:あなたはこのようにいろいろ書いを使用することができ、2011年に更新日付を持つすべてdesendantsを取得するには 。

コードで使用する場合は、Sitecore高速クエリの代わりにSitecoreコンテンツ検索APIを使用することをお勧めします。

+0

こんにちは、私は上記のスクリプトを使用しようとすると、2011年のフォルダに "2011"と "Article 3"というフォルダが返されます。子孫のみを取得するにはどうしますか?最後のレベルを意味します。 – snowfrost

+0

おそらく、解決策は、テンプレートフィルタを追加することです。どのテンプレートが必要か、どちらでないかを知っていれば、@@ templatename = 'Article'のようなものを使用してください。 –

+0

また、パスにワイルドカードを使用することもできます。 sitecore/content/*/*/*/*特定のレベルからすべてのアイテムを取得する –