1

次の Sitecore クエリがあります。

  1. /sitecore/content/Home/Clubs//17th
  2. /sitecore/content/Home/Clubs//20th

特に注目すべきは、/sitecore/content/Home/Clubs をコンテキストとして、Sitecore クエリ言語 (//) の子孫軸機能を使用していることです。

私のコンテンツは次のように構成されています。

  1. /sitecore/content/Home/Clubs/シカゴ/17th
  2. /sitecore/content/Home/Clubs/New-York/Downtown/20th

XPath Builder でクエリ 1 と 2 を実行すると、コンテンツ アイテム 1 と 2 が取得されます。それぞれ。これは私が期待するものです。しかし、Sitecore の API を介して同じクエリを実行すると、コンテンツが見つからないというエラーが発生します。

次のクエリは、Sitecore の API で動作します。

 * /sitecore/content/home/clubs/*/17th
 * /sitecore/content/home/clubs/*/*/20th

私が達成しようとしているのは、特定の名前を持つコンテンツ アイテムの子と孫の両方を取得できる 1 つのクエリです。次のようなクエリ:

/sitecore/content/Home/Clubs//{contentItemName}

私はただ試すことができることを知っています

/sitecore/content/Home/Clubs/*/{contentItemName}

そしてフォールバック

/sitecore/content/Home/Clubs/*/*/{contentItemName}

それがうまくいかない場合、それはハックのようです。

XPath ビルダーで確認したクエリを Sitecore API で動作させる方法はありますか?

4

1 に答える 1

1

XPathビルダーには次のものが必要だと思います:

/sitecore/content/Home/Clubs//*[@@name='20th']

または API で:

/sitecore/content/Home/Clubs//*[@@name='{contentItemName}']
于 2013-11-14T01:16:22.683 に答える