Delivery APIのクエリ例
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、一般的なクエリのニーズを満たすためにExperience Edge GraphQLスキーマをクエリする方法の例をいくつか説明します。
このトピックのクエリ例のほとんどは、スタイルガイド サンプル アプリから派生Sitecore JSSものです。アイテムIDとパスは、インポート/ソリューションによって異なります。
サイトでフォールバック言語をサポートしている場合は、開始する前にExperience Edge Connectorで 公開言語のフォールバックを有効にします 。
IDまたはパスでアイテムを取得する
コンテンツ ツリー内の任意の場所にあるアイテムに対してパスまたはIDでクエリを実行し、そのフィールドやその他のプロパティを読み取ることができます。インラインフラグメントを使用して、アイテムを投影データテンプレートタイプにキャストし、フィールドをフィールドタイプにキャストできます。
クエリ
結果
複数のパスでフィルタリングされたアイテムを取得する
複数のパスに基づいてアイテムをフィルタリングできます。このクエリの例では、次のサイト構造を前提としています。

/home/graphqlアイテムとhome/styleguide/Page ComponentsアイテムのUUIDにそれぞれ0C6F4AAF-DD7E-5FAF-B9B0-61070D496055とAB99BA2B-B606-51E3-BAD9-FD8358DE1333があるとします。/home/graphqlとhome/styleguide/Page Componentsではない/homeアイテムと子孫、またはその子を取得したいと考えています。次のクエリでは、NCONTAINS演算子を使用して、これらの項目とその子のパスを結果から除外します。
クエリ
結果
検索クエリ結果には、パスが /home/graphqlとhome/styleguide/Page Componentsのアイテム、またはその子孫は含まれませんが、/homeアイテムと残りの子アイテムが返されます。
URLの項目レイアウトを取得する
ヘッドレスSDKで最もよく使用されますが、サイト名とHTTP URLでアイテムを検索し、フレームワーク固有のSitecoreプレースホルダー実装でレンダリングするためのレイアウト サービス出力を取得できます。
クエリ
結果
アイテムバケット内のアイテムをページ分割する
Sitecoreアイテム バケットを使用する場合、一般的な要件は、そのバケット内の特定のテンプレートから派生するすべてのアイテムをページ分割することです。次の検索クエリは、これらのユースケースに役立ちます。
クエリ
結果
サイトのルート項目を取得する
Experience Edgeスキーマでは現在、サイトとそのルート アイテムのクエリは許可されていませんが、layoutクエリを使用してサイトのルート アイテムを検索することはできます。
クエリ
結果
すべてのサイトパス/ページを取得する
siteクエリを使用して、そのサイトのレイアウトデータ/プレゼンテーションの詳細を含む特定の言語のすべてのアイテムを検索できます。これは、たとえば、静的サイトジェネレータのパスを取得する場合に役立ちます。ルート結果はページ分割され、デフォルトでは10件の結果のみが返されます。結果をページ分割するには、endCursorプロパティをfirstクエリ引数とafterクエリ引数と共に使用する必要があります。
クエリ
結果
範囲内の日付と数値でフィルター処理されたアイテムを取得する
演算子を使用して、次のような数値と日付をクエリできます。
-
イコール(EQ)
-
等しくない (NEQ)
-
Contains (CONTAINS) (含む)
-
含まない (NCONTAINS)
さらに、次の演算子を使用して、数値または日付の範囲をクエリできます。
-
より小さい (LT)
-
以下 (LTE)
-
より大きい (GT)
-
以上 (GTE)
これらの演算子を使用する場合は、valueを引用符で囲む必要があります。日付比較は、すべての標準日付/時刻形式とyyyyMMddTHHmmssZをサポートしています。日付はUTC形式で保存されます。ただし、クエリに入力された値はローカルの値と見なされます。
この機能を初めて使用する前に、クエリを実行するコンテンツを再発行して、内部データ構造を再構築します。それ以外の場合、データは文字列として辞書式に比較されます。たとえば、データが再構築されない場合、値3は123より大きいと見なされます。
クエリ - 日付範囲
結果 - 日付範囲
クエリ - 数値範囲
結果 - 番号範囲
ビルド サイト ナビゲーション
このサンプル クエリは 、サイト ルートの検索 と、項目の子を走査する機能を組み合わせたものです。 hasLayout引数を使用してレイアウト(ナビゲート可能ページ)の項目のみを検索し、includeTemplateIds引数を使用して(ベース)データテンプレートでフィルタリングできます。
クエリ
結果
ページ階層リンクを作成する
項目グラフ タイプのancestorsフィールドを使用して、階層リンク ナビゲーションを作成できます。 hasLayout引数を使用して、レイアウト (ナビゲート可能なページ) の項目のみを検索し、includeTemplateIds (基本) データ テンプレートでフィルター処理します。
クエリ
結果
アイテム フィールドをSitecoreヘッドレスSDKで使用する
さまざまなSitecoreヘッドレスSDKにはすべて、フィールド値をレンダリングするためのヘルパーが含まれています。これらのヘルパーは、インライン編集のコンテキストで複雑なフィールド (画像やリンクなど) と編集可能な値をレンダリングするのに役立ちます。Experience Edgeスキーマの項目フィールドには、これらのフィールドヘルパーと互換性のある形式でフィールドを出力するjsonValueが含まれます。
例えば、次のリンクフィールドは、Linkフィールドヘルパーを使用してReactまたはNext.jsでレンダリングできます。
クエリ
結果
すべてのコンテンツ サイトに関する情報を取得する
siteInfoCollectionフィールドを使用して、siteクエリ内のすべてのコンテンツ サイトに関する情報を取得できます。たとえば、使用可能なすべてのサイトの名前とルート パスを取得するには、次のクエリを使用します。
クエリ
結果
特定のコンテンツ サイトに関する情報を取得する
siteクエリのsiteInfoフィールドを使用して、特定のコンテンツ サイトに関する情報を取得できます。たとえば、次のクエリはサイト名とルート パスを返します。
クエリ
結果
リダイレクトルールを一覧表示する
特定のサイトに関する情報を照会するときに、リダイレクト ルールのリストをリクエストできます。次のクエリ例では、応答にはリダイレクトの種類、ターゲット、パターン、およびリダイレクトがクエリ文字列パラメーターを保持するかどうかが含まれます。
クエリ
結果
エラー処理ページを取得する
特定のサイトに関する情報を照会する場合は、エラー処理プロセスに関連するすべてのページの情報を要求できます。この結果は、必要なすべてのエラー・コードが処理されるかどうか、およびどのページによって処理されるかを判断するのに役立ちます。
クエリ
結果
ロボット情報を取得する
siteクエリを使用して、どの検索エンジン クローラがサイトにアクセスできるかに関する情報をリクエストできます。
クエリ
結果
SXAサイトのサイトマップを取得する
SXAサイト サイトマップ用に生成されたメディア アイテムへのパスをクエリできます。
クエリ
結果
ディクショナリエントリを取得する
サイトの個々の辞書エントリを取得するには、siteクエリを使用します。カーソル引数を組み合わせて、結果にページングを適用できます。これらが指定されていない場合、デフォルトはfirstページ・サイズ500です。