Lightning Experience のレコードホームページのコンポーネントの設定
Lightning Experience のレコードページでコンポーネントが動作するようにするには、まず Lightning アプリケーションビルダーで動作するようにコンポーネントを設定します。詳細は、「Lightning ページと Lightning アプリケーションビルダーのコンポーネントの設定」を参照してください。
コンポーネントに Lightning アプリケーションビルダーとの互換性がある場合は、次のガイドラインを使用して、Lightning Experience のレコードページで動作するように調整します。
レコードページがアプリケーションページと明確に異なる点は、レコードのコンテキストがあるということです。現在のレコードに基づいてコンポーネントにコンテンツを表示するには、インターフェースと属性の組み合わせを使用します。
- コンポーネントをレコードページと他の種別のページの両方で使用できる場合、flexipage:availableForAllPageTypes を実装します。
- コンポーネントがレコードページ専用に設計されている場合は、flexipage:availableForAllPageTypes の代わりに flexipage:availableForRecordHome インターフェースを実装します。
- コンポーネントにレコード ID が必要な場合は、force:hasRecordId インターフェースも実装します。
- コンポーネントにオブジェクトの API 名が必要な場合は、force:hasSObjectName インターフェースも実装します。
force:hasRecordId
レコードページコンポーネントに役立ちます。現在表示されているレコードの ID をコンポーネントで取得する場合は、このインターフェースを実装します。
1<aura:attribute name="recordId" type="String" />レコード ID は、レコードページにコンポーネントを配置した場合にのみ入力されます。このコンポーネントをプログラムで別のコンポーネント内に作成するなど、他のいずれの場合にも、レコード ID は入力されません。
force:hasSObjectName
レコードページコンポーネントに役立ちます。現在表示されているレコードのオブジェクトの API 名をコンポーネントで認識する必要がある場合は、このインターフェースを実装します。
このインターフェースは、sObjectName という名前の属性をコンポーネントに追加します。この属性は文字列型であり、その値は Account や myNamespace__myObject__c のようなオブジェクトの API 名です。
1<aura:attribute name="sObjectName" type="String" />sObjectName 属性は、レコードページにコンポーネントを配置した場合にのみ入力されます。このコンポーネントをプログラムで別のコンポーネント内に作成するなど、他のいずれの場合にも、sObjectName は入力されません。