数式内で Lightning か Classic かを判定する

$User.UIThemeDisplayed が返す画面モード(ユーザの設定ではなく、実際に表示されている画面モード)の文字列を使って、Lightning と Classic で動作を変えます。

実際に帰ってくる画面モードの文字列は以下の通り。
(参考:https://releasenotes.docs.salesforce.com/ja-jp/spring16/release-notes/rn_vf_uitheme.htm

  • Theme1 — 古い Salesforce テーマ
  • Theme2 — Salesforce Classic 2005 ユーザインターフェースのテーマ
  • Theme3 — Salesforce Classic 2010 ユーザインターフェースのテーマ
  • Theme4d — 最新の「Lightning Experience」Salesforce のテーマ
  • Theme4t — Salesforce1 モバイル Salesforce のテーマ
  • PortalDefault — Salesforce カスタマーポータルのテーマ
  • Webstore — Salesforce AppExchange のテーマ

一般的なカスタム数式項目の中で使用する前提で、おおよその判定で良いのであれば、Theme4を含むか否かで十分と思われるので

IF(CONTAINS($User.UIThemeDisplayed, 'Theme4') , 'Lightning', 'Classic')

という感じの判定で行けます。
これを使えば、Lightningで表示されている時とClassicで表示されている時で画面に出すURLを切り替えるとか、画像リソースを切り替えるとか、そういったことが出来ますね。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter でそらみみをフォローしよう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です