クエリの例
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、一般的なクエリのニーズを満たすためにExperience Edge GraphQLスキーマをクエリする方法の例をいくつか説明します。
このトピックのクエリ例のほとんどは、Styleguideサンプル サイトから派生しています。アイテムIDとパスは、インポート/ソリューションによって異なります。
サイトでフォールバック言語をサポートしている場合は、開始する前にExperience Edge Connectorで 公開言語のフォールバックを有効にします 。
IDまたはパスでアイテムを取得する
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の項目レイアウトを取得する
URLの項目レイアウトを取得する
ヘッドレスSDKで最も頻繁に使用され、サイト名とHTTP URLでアイテムを検索し、フレームワーク固有のSitecoreプレースホルダー実装でレンダリングするためのレイアウト サービス出力を取得できます。
クエリ
結果
アイテムバケット内のアイテムをページ分割する
アイテムバケット内のアイテムをページ分割する
Sitecoreアイテム バケットを使用する場合、一般的な要件は、そのバケット内の特定のテンプレートから派生するすべてのアイテムをページ分割することです。次の検索クエリは、これらのユースケースに役立ちます。
クエリ
結果
サイトのルート項目を取得する
サイトのルート項目を取得する
Experience Edgeスキーマでは、現在、サイトとそのルート項目のクエリは許可されていませんが、layoutクエリを使用してサイトのルート項目を検索することはできます。
クエリ
結果
すべてのサイトパス/ページを取得する
すべてのサイトパス/ページを取得する
Experience Edgeスキーマのsearchクエリを使用して、特定のパスの下にあるレイアウトデータを持つすべてのアイテムを検索できます。これは、たとえば、静的サイト ジェネレータのパスを取得したり、サイト マップを作成したりする場合に便利です。検索クエリの結果はページ分割され、デフォルトでは10件の結果のみが返されます。 endCursorプロパティをfirstとafterクエリ引数と共に使用して、結果をページ分割する必要があります。
クエリ
結果
ビルド サイト ナビゲーション
ビルド サイト ナビゲーション
このサンプル クエリは 、サイト ルートの検索 と、項目の子を走査する機能を組み合わせたものです。 hasLayout引数を使用してレイアウト(ナビゲート可能ページ)の項目のみを検索し、includeTemplateIds引数を使用して(ベース)データテンプレートでフィルタリングできます。
クエリ
結果
ページ階層リンクを作成する
ページ階層リンクを作成する
項目グラフ タイプのancestorsフィールドを使用して、階層リンク ナビゲーションを作成できます。 hasLayout引数を使用して、レイアウト (ナビゲート可能なページ) を持つ項目のみを検索し、includeTemplateIdsを使用して (基本) データ テンプレートでフィルター処理します。
クエリ
結果
SitecoreヘッドレスSDKでアイテム フィールドを使用する
SitecoreヘッドレスSDKでアイテム フィールドを使用する
さまざまなSitecoreヘッドレスSDKにはすべて、フィールド値をレンダリングするためのヘルパーが含まれています。これらのヘルパーは、インライン編集のコンテキストで複雑なフィールド (画像やリンクなど) と編集可能な値をレンダリングするのに役立ちます。Experience Edgeスキーマの項目フィールドには、これらのフィールドヘルパーと互換性のある形式でフィールドを出力するjsonValueが含まれます。
たとえば、次のリンクフィールドは、ReactまたはLinkフィールドヘルパーを使用してNext.jsでレンダリングできます。