カスタムオブジェクトからアカウントデータにアクセスする
利用可能な Liferay 7.4 U35+/GA35+
いくつかのユースケースでは、カスタムオブジェクトからアカウントデータにアクセスしたい場合があります。 例えば、カスタム返品アプリケーションを構築している場合、返品リクエストを作成する際に、希望するアカウントと郵便物の住所を選択するようユーザーに求めることができます。 このシナリオでは、ユーザーは返品アプリケーションで既存のアカウントとアドレスの入力にアクセスする必要があります。
これを実現するために、Liferay は Objects 管理画面で Account と Postal Address のアプリケーションにアクセスできるようにしています。 ここでは、それらとカスタムオブジェクトの関係を定義することができます。 一度定義すれば、ユーザーはカスタムオブジェクトの生成されたリレーションシップフィールドを使用して、希望するアカウントと郵便番号のエントリを選択することができます。
Account オブジェクトは一般的なアカウントデータ(名前、電子メールなど)を格納し、Postal Address オブジェクトはアカウントの請求先住所と配送先住所を格納します。 郵便番号の項目は、アカウントUIで作成され、作成された個々のアカウントにスコープされます。
カスタム・オブジェクトを Accounts および Postal Address システム・オブジェクトに関連付ける場合、これらの関係はシステム・オブジェクト側で定義し、1対多のタイプを使用する必要があります。 カスタムオブジェクトは、両方のリレーションシップの多数側である必要があります。
以下の手順に従って、カスタムオブジェクトからアカウントと郵便番号のエントリにアクセスするためのリレーションシップを設定してください。
グローバルメニュー(
)を開き、 [コントロールパネル] タブに移動して、 [オブジェクト] をクリックします。
Accounts オブジェクトの編集を開始します。
Relationships タブを開き、 Add ボタン (
) をクリックします。
ラベル と 名前 を入力します。
タイプ]で、[One to Many]を選択します。
オブジェクト] には、 カスタムオブジェクト を選択します。
[保存] をクリックします。
Objects 管理ページに戻り、 Postal Address オブジェクトの編集を開始します。
Relationships タブを開き、 Add(
) をクリックします。
ラベル と 名前 を入力します。
タイプ]で、[One to Many]を選択します。
Object」については、前回のリレーションシップと同じ「custom object」を選択します。
Parameter」については、先に作成した「Account」オブジェクトとカスタムオブジェクトの関係()を選択します()。
これは、Postal Addressの項目が特定のアカウントにスコープされているために必要です。 このパラメータは、利用可能なアドレスが Account リレーションシップのフィールド値に依存する従属リレーションシップを設定します。
[Save] をクリックします。
カスタムオブジェクトのデフォルトレイアウトとビューに、リレーションシップフィールドを追加します。 詳細な手順については、 オブジェクトレイアウトの設計 および オブジェクトビューの設計 を参照してください。
追加されると、ユーザーはカスタムオブジェクトで利用可能なアカウントとアドレスから選択できるようになります。 利用可能なアカウントオプションは、ユーザーのアカウントメンバーシップに依存し、利用可能なアドレスは、選択したアカウントに依存します。
デフォルトでは、オブジェクトはタイトルフィールドにエントリIDを使用します。 タイトルフィールドの値は、関係フィールドの各入力オプションがエンドユーザーにどのように表示されるかを決定します。 必要であれば、オブジェクトごとに異なるフィールドをタイトルに使用するよう設定することで、読みやすさを向上させることができます。
これを行うには、目的のオブジェクト定義の編集を開始し、Detailsタブに移動し、Title Fieldに異なる値を選択します。 終了したら、保存をクリックします。