カスタムオブジェクトからアカウントデータにアクセスする
ライフレイ 7.4 U35+/GA35+
いくつかのユースケースでは、カスタムオブジェクトからアカウントデータにアクセスしたい場合があります。 例えば、カスタム返品アプリケーションを構築している場合、返品リクエストを作成する際に、希望するアカウントと住所を選択するようユーザーに求めることができます。 このシナリオでは、ユーザーは返品アプリケーションで既存のアカウントとアドレスのエントリーにアクセスする必要があります。
これを実現するために、Liferayは[Objects]管理画面で[Account]と[Postal Address]のアプリケーションにアクセスできるようにしています。 ここでは、それらとカスタムオブジェクトの関連を定義することができます。 一度定義すれば、ユーザーはカスタムオブジェクトの生成された関連フィールドを使用して、希望するアカウントと住所のエントリーを選択することができます。

[Account]オブジェクトは一般的なアカウントデータ(名前、電子メールなど)を格納し、[Postal Address]オブジェクトはアカウントの請求先住所と配送先住所を格納します。 住所のエントリーは、アカウントUIで作成され、作成された個々のアカウントに限定されます。
カスタムオブジェクトを[Accounts]および[Postal Address]システムオブジェクトに関連付ける場合、これらの関連はシステムオブジェクト側で定義し、1対多のタイプを使用する必要があります。 カスタムオブジェクトは、両方の関連の多数側である必要があります。
以下の手順に従って、カスタムオブジェクトからアカウントと住所のエントリーにアクセスする関連を設定してください。
-
グローバル メニュー (
) を開き、 コントロール パネル タブに移動して、 オブジェクトをクリックします。 -
[Accounts]オブジェクトの編集を開始します。
-
[関係] タブに移動し、 [追加] ボタン (
) をクリックします。 -
ラベル と 名前を入力します。
-
タイプには、 1対多を選択します。
-
[Object]では、カスタムオブジェクトを選択します。
![[Account]オブジェクトからカスタムオブジェクトへの一対多の関連を作成します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/using-system-objects-with-custom-objects/accessing-accounts-data-from-custom-objects/images/02.png)
-
[保存]をクリックします。
-
[Objects]管理ページに戻り、 [Postal Address]オブジェクトの編集を開始します。
-
リレーションシップ タブに移動し、 追加 (
) をクリックします。 -
ラベル と 名前を入力します。
-
タイプには、 1対多を選択します。
-
[Object]については、前回の関連と同じカスタムオブジェクトを選択します。
-
[Parameter]については、先に作成した[Account]オブジェクトとカスタムオブジェクトの関連を選択します。
これは、[Postal Address]のエントリーが特定のアカウントに限定されているために必要です。 このパラメーターは、利用可能なアドレスがアカウント関連のフィールド値に依存する従属リレーションシップを設定します。
![[Postal Address]オブジェクトからカスタムオブジェクトへの一対多のリレーションを作成し、カスタムオブジェクトの[Account]関連をパラメーターとして使用します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/using-system-objects-with-custom-objects/accessing-accounts-data-from-custom-objects/images/03.png)
-
[保存]をクリックします。
-
カスタムオブジェクトのデフォルトレイアウトとビューに、関連フィールドを追加します。 詳細な手順については、 オブジェクト レイアウトの設計 および オブジェクト ビューの設計 を参照してください。

追加されると、ユーザーはカスタムオブジェクトで利用可能なアカウントとアドレスから選択できるようになります。 利用可能なアカウントオプションは、ユーザーのアカウントメンバーシップに依存し、利用可能なアドレスは、選択したアカウントに依存します。

デフォルトでは、オブジェクトはタイトルフィールドにエントリーIDを使用します。 タイトルフィールドの値は、関連フィールドの各エントリーオプションがエンドユーザーにどのように表示されるかを決定します。 必要であれば、オブジェクトごとに異なるフィールドをタイトルに使用するよう設定することで、読みやすさを向上させることができます。
これを行うには、目的のオブジェクト定義の編集を開始し、 詳細 タブに移動して、 タイトル フィールドに別の値を選択します。 完了したら、 「保存」 をクリックします。