---
title: "クエリを使ってデータソースのコンテキストを特定します"
slug: "use-a-query-to-determine-the-data-source-context"
abstract: "バリアントやデータソースのレンダリングにクエリを使う方法を学びましょう"
---
# クエリを使ってデータソースのコンテキストを特定します

部分的なデザインやスニペットを作成する場合、レンダリングを特定のデータソースに向けるのが便利です。例えば、3つの異なるサイトで部分的なデザインを使い、その部分的なデザインのレンダリングにサイトのコンテキストを適用したい場合です。レンダリングのデータソースを手動で変更することでこれが可能ですが、クエリを使うこともできます。

例えば、共有サイトではHeaderという部分的なデザインを使い、画像レンダリングを含みます。画像のデータソースフィールドでクエリ- query:$site/Data/Images/Logo -を使い、この部分的なデザインが他のサイトで使われると、画像レンダリングは現在のサイトで画像データソースを解決しようとします。

現在のコンテキスト項目に対して実行するクエリを指定するには、子項目を含むレンダリングバリアントを作成することができますquery: これにより、$homeや $siteなどのSXAトークンを利用できます。例えば、特定のテンプレートの子項目だけに表示したい場合などです。クエリはqueryで始め、標準Sitecoreクエリ構文を使う必要があります。

以下の表はクエリ構文の例を示しています:

**例**

**クエリ**

現在のページの子どもたち

query:.//\*

現在のサイトのホームアイテム

query:$home

現在のページの親項目

query:..

現在のページの親項目の親項目の親

query:../..

サイトホームページのすべての項目

query:$home//\*

サイトホームページ内のすべての項目に追加のソートが適用されています

query:$home//\*@@name='News'

現在の項目の下にあるページテンプレートのすべての項目

query:.//\*@@templatename='Page'

現在のサイトのホームアイテムにあるページテンプレートのすべての項目

query:$site/\*@@name='Home'//\*@@templatename='Page'

## レンダリングバリアントにクエリ子アイテムを追加する

クエリを使って、クエリ子項目をレンダリングバリアントに追加したり、レンダリングのデータソースにクエリを追加したりすることでコンテキストを切り替えることができます。

クエリ子項目をレンダリングバリアントに追加するには:

1.  コンテンツエディターでサイトをクリックし、「プレゼンテーション/レンダリングバリアント」フォルダを開きます。このフォルダにはバリアントを許可するすべてのレンダリングが一覧化されています。
    
2.  バリアントを追加したいレンダリングを右クリックし、その後「 **挿入**」→ **「バリアント定義**」をクリックします。
    
3.  名前とバリアントの詳細を入力してください。
    
4.  バリアントを右クリックし、「 **挿入**」をクリックし、「 **クエリ**」をクリックします。
    
5.  **Variant Details**セクションの**Query**フィールドでクエリを入力します。
    
    ![The Query field.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/sxa/93/sitecore-experience-accelerator/images/8F3406FDCB6045FCA0FF6600867034B6.png)
    

## レンダリングのデータソースフィールドにクエリを入力してください

レンダリングのデータソースフィールドでクエリを使うには:

1.  編集したいレンダリング画像をクリックし、フローティングツールバーで **「コンポーネントプロパティの編集**」をクリックします。
    
2.  **コントロールプロパティ**ダイアログボックスの**「一般**」セクション、**データソース**フィールドでクエリを入力します。
    
    ![The Data Source field in the Control Properties dialog box.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/sxa/93/sitecore-experience-accelerator/images/12E475243CD243B8B12F20826B5FAE33.png)