14

クエリ表記法 (または xpath - 動作する方) を使用してテンプレートのソース フィールドを設定しようとしていますが、どれも機能していないようです。

私のコンテンツ ツリーはマルチサイト コンテンツ ツリーです。

France
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions

US
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions

各サイトには独自の METADATA フォルダーがあり、主要な国の各ノード内にページを追加するときに、そのサイトの METADATA にあるものを値に反映させたいと考えています。今のところ、droplink フィールドと treelistex フィールドの 2 つの異なるフィールドがあります。そこで、国のサイトである親アイテムを取得し、そのメタデータ フォルダーを取得できると考えました。次のクエリを両方のフィールドに入力すると、異なる結果が得られます。

 query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
  • ドロップリンク フィールドの場合、最初のリージョン (1 つのアイテム) のみを取得します
  • treelistex フィールドについては、コンテンツ ツリー全体を取得します

次に、クエリを少し変更して、「クエリ」表記を削除しました

 ./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*

開発者センター/xpath ビルダーにアクセスして、主要な国のサイトの下にある任意のアイテムにコンテキスト ノードを設定すると、必要なものが正確に返されますが、これをソースに入れると、両方のコンテンツ ツリー全体が取得されます。ケース。

ヘルプ!

4

2 に答える 2

46

Sitecore クエリをサポートするフィールド

構文query:またはfast:(FastQuery の場合) を使用できる場所:

  • ドロップリスト
  • グループ化されたドロップリスト
  • ドロップリンク
  • グループ化されたドロップリンク
  • チェックリスト
  • マルチリスト
  • ドロップツリー

パラメータ化されたデータソースをサポートするフィールド

パラメータ化されたデータソース クエリで拡張構文を使用できる場所:

  • ドロップツリー†</li>
  • ツリーリスト
  • TreelistEx

Droptree はDatasourceおよびDatabaseNameパラメータのみをサポートします。

拡張されたクエリ文字列構文には、次のパラメーターが含まれています。

  • 情報源
  • データベース名
  • 複数選択を許可
  • IncludeItemsForDisplay
  • ExcludeItemsForDisplay
  • IncludeTemplatesForSelection
  • 除外テンプレートの選択
  • IncludeTemplatesForDisplay
  • ExcludeTemplatesForDisplay

これらは次のように使用されます。Datasource=/sitecore/content/home/Products/&IncludeTemplatesForDisplay=Product Category&ExcludeTemplatesForSelection=Product Description&IncludeTemplatesForSelection=Product Category

Mark Ursino は、この種の構文の使用方法に関する素晴らしい投稿をここで行っています。

于 2012-09-27T09:14:49.817 に答える
14

ここにあるものは、Droplink フィールドで機能するはずです。おそらくあなたはDroptreeについて言及していますか?

query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*

TreelistEx に関しては、デフォルトの Treelist フィールドが Sitecore クエリをサポートしているとは思いません。ただし、この記事では、それをサポートするカスタム TreeList を作成する方法について説明します。

于 2012-09-26T23:01:08.167 に答える