サーチ…


備考

テンプレート名とテンプレートIDの比較対クエリの項目名:

テンプレートIDやアイテム名使用しないことを強くお勧めします。これにより、テンプレートやアイテムの名前が変更された場合でも、依然としてクエリが機能するようになります。

ただし、 /sitecore/content/sitecore/system/Marketing Control Panel OOTB構造を照会しているときは、OOTBテンプレートを使用して作業するときは例外です。このような状況では、読みやすさの低下は、クエリの破損のリスクよりもしばしば高くなります。なぜなら、これらのテンプレートの名前が変更される可能性がはるかに低いからです。

上記の私の例では、readabiltiyのためにテンプレート名が使用されていることに注意してください。これらのクエリは、テンプレート名がテンプレートIDに置き換えられない限り、本番環境では使用しないでください。

リファレンスシート:

私は、SitecoreクエリーチートシートがWeb上でダウンロードできなくなったことに気付きました(Sitecoreがホストするすべてのリンクが現在404ページにリダイレクトされています)。幸いにも、私は自分のマシンにコピーを持っていて、以下のスクリーンショットを追加しました:

Sitecoreクエリーチートシート

アイテムパスで選択

クエリ:

query:/sitecore/content/home/foo/bar

結果

bar

相対クエリ

現在のアイテム:

bar (path: /sitecore/content/home/foo/bar)

クエリ:

query:./child/grandchild

結果:

grandchild (path: /sitecore/content/home/foo/bar/child/grandchild)

アイテム属性クエリ

クエリ:

query:/sitecore/content/[@@templatename='Homepage']

結果:

home (name: home, path: /sitecore/content/home, template name: Homepage)

サイト固有のクエリ

ツリー構造:

/sitecore
    /content
        /foo-site
            /home
                /my-account
        /bar-site
            /home
                /my-account
        /baz-site
            /home
                /my-account
  • 各サイト項目のテンプレート( foo-sitebar-sitebaz-site )の名前はSite Nodeです。
  • 各ホームアイテム( homehomehome )のテンプレートは、 Homepage
  • 各ユーザーアカウント項目( my-accountmy-accountmy-account )のテンプレートは、 my-account User Account Page

現在のアイテム:

現在のアイテムは、 homeアイテムまたは任意のサイトのhomeアイテムの下にある任意のページである可能性があります。このクエリは、現在の祖先であるhomeアイテムの下にHomepageテンプレートのアイテムがない場合項目)。

クエリ:

query:./ancestor-or-self::*[@@templatename='Homepage']/*[@@templatename='my-account']

結果:

foo-siteサイトのhomeアイテムまたはその子孫の1つからクエリを実行する場合:

/sitecore/content/foo-site/home/my-account

bar-sitehomeアイテムまたはその子孫の1つからクエリを実行する場合:

/sitecore/content/bar-site/home/my-account

baz-sitehomeアイテムまたはその子孫の1つからクエリを実行する場合:

/sitecore/content/baz-site/home/my-account


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow