SITECORE MANIA 技術ブログ

2020.01.23 その他

千明

千明

Sitecore(サイトコア) クエリの基本的な使い方

今回の記事では Sitecore(サイトコア) クエリの基本的な使い方について紹介します。

1.Sitecore クエリとは

Sitecoreクエリは、Sitecoreコンテンツツリーのアイテムの場所をパスにして使用するものです。

以下が、クエリ式の例です。

  • "query:/sitecore/content/Home//*"
    sitecore/content/Home配下のアイテムを全て取得します。
  • "query:/sitecore/content/Home//*[@@templatename='lyzon']"
    sitecore/content/Home配下でかつ、テンプレート名にlyzonを含む全てのアイテムを取得します。

*パスとテンプレートで使用されるアイテム名は、大文字と小文字の区別がされません。

2.基本的なクエリ式

表記 説明 使用例
/ 直下のアイテム /sitecore/content/Home
siteocre/content/Home直下の全てのアイテム
// 配下のアイテム /sitecore/content/Home//lyzon…
sitecore/content/Home配下のlyzonという名前のアイテム
* 全ての名前のアイテム /sitecore/content/Home//*…
sitecore/content/Home配下の全てのアイテム
@フィールド名 指定したフィールドの値 /sitecore/content/@Text
sitecore/content直下でTextフィールドを持つ全てのアイテム

3.データソースを使用してHeaderアイテムを取得する方法

1./sitecore/content/sample1/SampleSite/Settings/Common/配下にHeaderアイテムを作成します。

2./sitecore/layout/Renderings/Project/sample2/Common/配下にHeaderレンダリングを作成します。

3.上記2で作成したHeaderレンダリングにデータソースを記述できるフィールドがあります。そのフィールドにクエリを用いてどこのアイテムを取得するかを記述できます。
今回は、下記の図の様な記述で上記1で作成したアイテムを取得しています。

「上記のクエリの説明」
※前提として「Headerレンダリング」が SampleSite の Top 配下のアイテムに設定されています。

query:./ancester::*[@@templateid = ‘{834BA576-489F-4644-E7274BBD77F0}’]/Setting/Common/Header

./ancester::*:コンテキストアイテムのすべての祖先を返す事ができます。
@@templateid:templateid名を記述する事ができます。(テンプレートID{834BA576-489F-4644-E7274BBD77F0}は、上記1の図のSampleSiteのテンプレートIDです。)

説明は以上です。データソースを用いてアイテムを取得したい際には参考にしてみてください。

< 参考サイト >

Sitecore Query Syntax

この記事を読んだ人はこちらの記事も読んでます

お問い合わせ・資料請求

LYZONにご相談下さい

ご依頼ご質問等まずは私達にお気軽にご相談下さい。

お電話でのお問い合わせ

03-5803-0587平日9:00~18:00