別のフィールドの値に基づいたフィールドの表示または非表示
Oracle Visual Builder Studioでは、ルールおよび表示ロジックを使用して、実行時に表示するページ・レイアウトを決定できます。 別のフィールドの値によってのみフィールドが表示されるようにルールを設定することもできます。 たとえば、アカウント・タイプが見込み顧客でないかぎり、アカウント・レコードの所有者フィールドを常に表示する必要がある場合があります。 このトピックでは、表示ロジックを使用してこのシナリオを実装する方法について説明します。
このトピックでは、単純な非表示/表示シナリオの代替メソッドも提供します。
前提条件
この例では、アカウントのタイプに基づいてフィールドを表示または非表示にします。 次の手順を実行する前に、「詳細ページでのヘッダーの構成」で説明されている手順を使用して、アカウント詳細ページのヘッダーにタイプ・フィールドを追加する必要があります。
ルールへの表示ロジックの追加
別のフィールドの値に応じてフィールドを表示するには、次のように2つのルールを作成し、最初のルールに条件を追加します:
-
アカウントのタイプが見込み顧客の場合は、所有者フィールドのないレイアウトを表示します。
-
アカウントのタイプが見込み顧客でない場合は、所有者フィールドを含む別のレイアウトを表示します。
項目1のルールと対応するレイアウトを作成しましょう。
-
Visual Builder Studioの「アカウント」レイアウト・タブ→「ルール・セット」サブタブで、「詳細ページでのヘッダーの構成」で説明されている手順で作成したルールをコピーして、新しいルールを作成します。
「複製」アイコンをクリックします。
-
「ルールの複製」ダイアログで、デフォルトのルール名を受け入れるか、新しい名前を入力します。 ここに入力する名前は、ルール名とレイアウト名の両方であるため、
Prospect-No-Owner
のように、わかりやすいレイアウト名を入力します。また、「レイアウトのコピーも作成」チェック・ボックスが選択されていることを確認します。
-
「複製」をクリックします。
新しいルールは既存のルールのリストの最上部に表示されます。つまり、このルールは実行時に最初に評価されます。 ルールの条件が満たされると、関連するレイアウトがユーザーに表示されます。 それ以外の場合は、次のルールが評価されます。
-
ルールに条件を追加します。 「クリックして条件を追加」をクリックします。
-
実行時に関連付けられたレイアウトをいつ表示するかを指定する条件を追加します。
この例では、タイプ・フィールドを
Prospect
にします。 -
アカウント・タイプが見込み顧客の場合に所有者フィールドが含まれないようにレイアウトを編集します。
-
オープン・アイコンをクリックして、コピーしたレイアウトを編集します。
-
item6スロットの所有者フィールドを削除します。
-
-
「プレビュー」ボタンをクリックして、ランタイム・テスト環境の変更を表示します。
プレビュー・リンクには、URLに
application/container
セグメントが含まれている必要があります。 そうでない場合は、次のURLの例を使用してプレビュー・リンクを変更します:https://<servername>/fscmUI/redwood/cx-sales/application/container/accounts/accounts-detail?id=300000003513233&puid=7050&view=foldout
この例では、このアカウントが見込み顧客であるため、所有者フィールドがないことがわかります。
ただし、このアカウントは顧客であるため、所有者フィールドが表示されます。
ノート: ヘッダーには、フィールドに値がある場合にのみフィールドが表示されます。 たとえば、アカウントにタイプが指定されていない場合、タイプ・フィールドは表示されません。
単純な非表示/表示ユースケースの代替メソッド
前述の例は、ルール、表示ロジックおよびカスタム・レイアウトを使用して、別のフィールドの値に基づいてフィールドを表示または非表示にする方法を示しています。 ただし、かわりにページ・テンプレートを直接変更することもできます。 このメソッドは、単純な非表示/表示のユースケースに推奨される代替メソッドです。
次に例を示します。 この次の手順では、アカウントの産業がハイテクの場合、アカウントの電話番号を非表示にします。
-
Visual Builder Studioの「アカウント」レイアウト・タブ→「ルール・セット」サブタブで、ルールのリストを確認します。
タイプ・フィールドが見込み客の場合、そのルールはインスタンス専用であるため、見込み客所有者なしルールは無視できます。
かわりに、「詳細ページでのヘッダーの構成」に記載されている手順で作成したルールを編集します。
-
開くアイコンをクリックして、ルールのコピーされたレイアウトを編集します。
-
プロパティ・ペインで、「テンプレートに移動」をクリックします。
-
「コード」ボタンをクリックします。
-
テンプレート・エディタで、ヘッダー・テンプレートのテンプレート・タグを強調表示します。
-
プロパティ・ペインで、レイアウト名を確認します。
-
テンプレート・エディタで、FormattedPhoneNumber_phoneパラメータを強調表示します。
<oj-vb-fragment-param name="item5" value="[[ $fields.FormattedPhoneNumber_phone.name ]]"></oj-vb-fragment-param>
-
強調表示されたパラメータを次の行に置き換えます:
<oj-vb-fragment-param name="item5" value="[[ ( $fields.IndustryCode.value() =='HIGH_TECHNOLOGY') ? null : $fields.FormattedPhoneNumber_phone.name]]"></oj-vb-fragment-param>
-
accounts-detailページで、Previewボタンをクリックして、ランタイム・テスト環境での変更を確認します。
プレビュー・リンクには、URLに
application/container
セグメントが含まれている必要があります。 そうでない場合は、次のURLの例を使用してプレビュー・リンクを変更します:https://<servername>/fscmUI/redwood/cx-sales/application/container/accounts/accounts-detail?id=300000003513233&puid=7050&view=foldout
アカウントを見てみましょう。 この例では、アカウントの産業は「ハイテク」であるため、電話番号はヘッダーに表示されません。
業種を「自動車」に変更すると、電話番号が表示されるようになります。
ノート: ヘッダーには、フィールドに値がある場合にのみフィールドが表示されます。 たとえば、アカウントにタイプが指定されていない場合、タイプ・フィールドは表示されません。