JavaScriptからのEntityServiceの使用
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このEntityServiceは、Sitecoreエンティティを作成、フェッチ、保存、および削除するためのスタンドアロンのXHR (XMLHttpRequest) ライブラリです。ライブラリは /sitecore/shell/client/Services/Assets/lib/entityservice.jsです。
このトピックでは、次の内容について説明します。
概要
概要
EntityServiceには、フロントエンドとバックエンド間のデータトランザクションを支援する多くのユーティリティとヘルパーがあります。例えば:
エンティティオブジェクトの構造は、メタデータ (スキーマ) に基づいています。 EntityServiceは、OPTIONS要求を使用して、このメタデータをサーバーから1回だけ要求します。
次の例は、EntityServiceをインスタンス化してエンティティを作成する方法を示しています。
-
EntityServiceがインスタンス化されます。
-
EntityServiceがサーバー関連のリクエスト(createEntity、fetchEntityなど)の実行を求められると、指定されたURLはOPTIONSリクエストでアクセスされます。後続のすべての要求は、サーバーが有効なメタデータ オブジェクトで応答するまでキューに入れられます。
-
メタデータ オブジェクトが返されると、コンテキストEntityServiceオブジェクトにアタッチされ、このメタデータに基づいてすべてのエンティティを検証およびサニタイズできます。
次のコード例は、このメタデータに基づいています。
EntityService.Entityの
EntityService.Entityの
Entityエンティティのクライアント側を表します。
コンストラクタ
EntityService.Entity ( sanitizedData, entityServiceSchema, オプション )
パラメーター
-
sanitizedData:オブジェクト。満たすオブジェクトは、スキーマによって検証されています
-
entityServiceSchema:オブジェクト。エンティティ スキーマ
-
options: オブジェクト。エンティティオプション
収益
Entity: エンティティ
エンティティの作成
エンティティの作成
エンティティを作成するには、オブジェクトを渡し、Sitecoreコンテンツ ツリーでアイテムを作成する場所のパスを設定し、executeメソッドを呼び出します。
サーバーへの呼び出しを行わずにダーティ エンティティを作成するには、createEntityメソッドにオブジェクトを指定しません。すべてのダーティエンティティは新規と見なされます。これは、isNewプロパティで確認できます。
1つのエンティティのフェッチ
1つのエンティティのフェッチ
fetchEntityメソッドを使用して単一のエンティティをフェッチし、エンティティID / GUIDを指定します。fetchEntityクエリを返すため、executeを呼び出す必要があります。
複数のエンティティのフェッチ
複数のエンティティのフェッチ
指定されたURLに基づいてすべてのエンティティをフェッチしますfetchEntitiesメソッドを使用します。
エンティティの保存
エンティティの保存
エンティティを保存する前に、エンティティをフェッチまたは作成する必要があります。
エンティティの破棄
エンティティの破棄
エンティティを破棄する前に、エンティティをフェッチまたは作成する必要があります。
ダーティエンティティ
ダーティエンティティ
ダーティエンティティとは、ブラウザのメモリに保存せずに作成するエンティティです。これは、たとえば、ユーザー入力を待っている場合に便利です。
エンティティがダーティかどうかの確認
エンティティが保存されていない(「ダーティ」である)かどうかは、isNewプロパティで確認します。
生のJSONの取得
生のJSONの取得
エンティティに格納されたデータを、追加のメソッドやプロパティを使わずに生のJSONとして取得する必要がある状況があります。次のメソッドは、サーバーに送信されるデータを取得するために内部的に使用されます。
エンティティの追跡
エンティティの追跡
追跡を使用してエンティティを拡張し、次のような機能を追加できます。
-
プロパティが変更されたときに自動的に保存されます。
-
hasChanged()を呼び出して、エンティティが変更されたかどうかを確認します。
-
revertChanges()を呼び出して、プロパティ値を元に戻します。
追跡可能なオプションを使用してエンティティに追跡を追加します。
自動的に保存する
自動的に保存する
追跡可能をオンにすると、変更内容は自動的に保存されます。保存イベントは、emitter onまたはonceを使用してリッスンできます。
エンティティが変更されたかどうかの確認
エンティティが変更されたかどうかの確認
追跡可能をオンにすると、SitecoreはhasChangedメソッドを追加して、エンティティが変更されたかどうかを確認できるようにします。
hasChangedメソッドは、値がnull、undefined、および空の文字列 ''の間で変更された場合、trueを返しません。
変更の取り消し
変更の取り消し
追跡可能をオンにすると、SitecoreはrevertChangesメソッドを追加するため、変更を元に戻すことができます。