クエリ表記(または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/*
次に、クエリを少し変更して、「クエリ」表記を削除しました。
./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
開発者センター/ xpathビルダーに移動し、メインの国のサイトの下にある任意のアイテムにコンテキストノードを設定すると、必要なものが正確に返されますが、これをソースに入れると、両方のコンテンツツリー全体が取得されますケース。
助けて!
ここにあるものは、Droplinkフィールドで機能するはずです。おそらくあなたはDroptreeを参照していますか?
query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
TreelistExに関しては、デフォルトのTreelistフィールドがSitecoreクエリをサポートしているとは思いません。ただし、 この記事 では、それをサポートするカスタムTreeListを作成する方法について説明しています。
構文を使用できる場所query:
またはfast:
(FastQueryの場合):
パラメータ化されたデータソースクエリで拡張構文を使用できる場所:
†DroptreeはDatasource
およびDatabaseName
パラメーターのみをサポートします。
これらは次のように使用されます:Datasource=/sitecore/content/home/Products/&IncludeTemplatesForDisplay=Product Category&ExcludeTemplatesForSelection=Product Description&IncludeTemplatesForSelection=Product Category
Mark Ursinoは、この種の構文の使用方法に関するすばらしい投稿をしています ここ 。