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