$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 でそらみみをフォローしよう!
Follow @sora_mimi