2021/06/28

Salesforceの$userとは?概要や使い方をご紹介|サンプルコード・$userの使い方の応用

 
  

Salesforceの$userとは?概要や使い方をご紹介

Salesforceの$userとは、Salesforceに現在ログインしているユーザー情報を取得するときに使用するグローバル変数です。 Visualforceにて$userグローバル変数が使用できます。$userグローバル変数を使用する際は、「{! $user.fieldName}」という書式になります。(fieldName部分は取得したい識別名を指定します) ちなみに、現在のログインユーザ情報を取得する方法はもう1つあり、ApexにてUserInfoシステムメソッドを使用する方法です。

サンプルコード

Salesforceの$userグローバル変数を使用して、Visualforceマークアップでユーザー情報を表示するサンプルコードです。 サンプルコードの作成方法を説明します。 1.新しいVisualforceページを作成します。開発者コンソールから「File」→「New」→「Visualforce Page」を選択し、ページ名に「User Status」を入力します。 2.エディタで次のコードに書き換えます。このコードはいくつかの情報を追加できるボックスを作成しています。
<apex:page>
    <apex:pageBlock title="User Status">
        <apex:pageBlockSection columns="1">
        </apex:pageBlockSection>
    </apex:pageBlock>
</apex:page>

サンプルコードに$userグローバル変数を追記

先ほど作成したサンプルコードに、Salesforceの$userグローバル変数を追記し、ユーザー情報を表示させます。 3.「<apex:pageBlockSection>」タグの間に$userグローバル変数を追記し、ユーザーの名前、ユーザーの苗字、ユーザーのフルネームを表示させます。
<apex:page>
    <apex:pageBlock title="User Status">
        <apex:pageBlockSection columns="1">
            {! $User.FirstName } {! $User.LastName }
           ({! $User.Username })
        </apex:pageBlockSection>
    </apex:pageBlock>
</apex:page>

書式について

「{! $User.fieldName}」の書式についての説明です。 Visualforceでは大文字、小文字は区別されず、スペースが入っていても無視されるため、以下の記述は同じ意味として解釈されます。 1.{! $User.FirstName} 2.{!$USER.FIRSTNAME} 3.{! $user.firstname }

$userの使い方の応用

Salesforceの$userグローバル変数は、参照するだけでなく、要素を結合したり条件式を使用したりすることができます。 以下のサンプルコードでその方法を説明します。

結合のサンプルコード

ユーザー情報の要素を結合して表示することができます。 次のコードでは、ログインしているユーザーの名前と苗字をスペース区切りで結合しています。
{! $User.FirstName & ' ' & $User.LastName }

条件式のサンプルコード

条件式を使用して、判定結果によって表示する情報を変更することが可能です。 Visualforceページでは、条件式は「IF( )」を使用することができます。「IF( )」には3つの引数があります。 1つ目の引数は、Boolen値です。Boolen値とは、trueまたはfalseで判断できる値です。 2つ目の引数は、最初のBoolen値がtrueだった場合に返す値です。 3つ目の引数は、最初のBoolen値がfalseだった場合に返す値です。
<p>{! IF( CONTAINS('salesforce.com','force.com'),
     'Yep', 'Nope') }</p>
<p>{! IF( DAY(TODAY()) < 15,
     'Before the 15th', 'The 15th or after') }</p>

$userのその他サンプルコード

Salesforceの$userグローバル変数の使い方を、別のサンプルコードでも説明します。 以下のサンプルコードは、現在ログインしているユーザーの会社名、現在のユーザーの状況を表示しています。
<apex:page>
  <h1>Congratulations</h1>
   This is your new Apex Page
   <p>The current company name for this
      user is: {!$User.CompanyName}</p>
   <p>Is the user active?
      {!$User.isActive}</p>
</apex:page>

Salesforceの$userを活用しよう!

今回は、Salesforceの$userグローバル変数について説明しました。 $userグローバル変数は、現在ログインしているユーザーの情報を取得することができます。また取得した要素を結合したり、条件式に使用したりすることも可能です。 この機会に理解しておきましょう。 また、Visualforce内で使用できるグローバル変数は、$user以外にも20個ほど存在しています。$userを入り口に、それ以外のグローバル変数についても理解しておけば、様々な情報を取得することができるようになります。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】