Visualforce による項目値の表示
Visualforce ページでは、数式と同じ式の言語を使用します。つまり、{! } 内のすべてが、現在コンテキストにあるレコードから得られる値にアクセスできる式として評価されます。たとえば、{!$User.FirstName} 式をページに追加すると、現在のユーザの「名」を表示できます。
1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<apex:page>
18
19 Hello {!$User.FirstName}!
20
21</apex:page>$User は、現在のユーザレコードを常に表すグローバル変数です。すべてのグローバル変数は、$ 記号で参照されます。Visualforce で使用できるグローバル変数のリストについては、「グローバル変数」を参照してください。
特定の取引先、取引先責任者、またはカスタムオブジェクトレコードなど、グローバルに使用できるようになっていないレコードの項目にアクセスするには、ページをコントローラに関連付ける必要があります。コントローラを使用すると、特定のオブジェクトのレコード��アクセスする方法を指定するロジックなど、アプリケーションを実行するためのデータやビジネスロジックをページで使用できます。ページのカスタムコントローラは Apex を使用して定義できますが、Salesforce には、すべての標準およびカスタムオブジェクトに使用できる標準コントローラが含まれています。
たとえば、取引先に対して標準コントローラを使用するには、<apex:page> タグに standardController 属性を追加し、取引先オブジェクトの名前を割り当てます。
1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<apex:page standardController="Account">
18
19 Hello {!$User.FirstName}!
20
21</apex:page>ページを保存したら、ページの [取引先] タブが強調表示され、ページのコンポーネントのデザインが [取引先] タブに適用されます。さらに、{!account.<fieldName>} 式の構文を使用して、現在コンテキストにある取引先レコードの項目にアクセスできるようになります。
たとえば、取引先の名前をページに表示するには、ページのマークアップで {!account.name} を使用します。
1swfobject.registerObject("clippy.codeblock-2", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<apex:page standardController="Account">
18
19 Hello {!$User.FirstName}!
20
21 <p>You are viewing the {!account.name} account.</p>
22
23</apex:page>- 任意の方法で、取引先の ID を検索します。そのための簡単な方法として、取引先レコードの詳細ページを表示し、URL の最後にある文字コードをコピーするやり方があります。たとえば、次の URL で取引先詳細ページに移動するとします。
1https://na3.salesforce.com/001D000000IRt53この場合、001D000000IRt53 が取引先の ID になります。
- ページに戻り、ブラウザのアドレスバーの URL にクエリ文字列パラメータとして取引先 ID を追加します。たとえば、ページが次の場所にあったとします。
1https://na3.salesforce.com/apex/HelloWorld2URL の最後に ?id=001D000000IRt53 を追加します。
1https://Salesforce_instance/apex/HelloWorld2?id=001D000000IRt53
取引先 ID を URL に指定したら、次の図のようにページに適切な取引先名が表示されます。
