URLFOR関数とは?
「URLFOR」関数とはSalesforceで提供されているマークアップ言語であるVisualforceで利用できる関数です。ここでは、「URLFOR」関数について簡単にご紹介していきます。
概要
「URLFOR」関数を利用することでVisualforce ページにある静的リソースアーカイブ内のアクション、Visualforce ページ、Sコントロール、ファイルへの相対URLが作成されます。
URLFOR関数はVisualforceページ内で以下のように記述することで利用できます。
{!URLFOR(target, [id], [inputs], [no override])}
target: URL またはアクション、Sコントロール、静的リソースマージ変数を指定します。
id:レコードへの参照を指定します。
inputs:追加のパラメータを指定します。
no override:標準のSalesforceページへの対象に適用されます。デフォルトは「False」ですが、標準のSalesforceページを表示する場合は「True」を指定します。
id、inputs、no overrideはいずれも省略可能です。
URLFOR関数の使用例
ここからはVisualforceページにおける「URLFOR」関数の使用例についてご紹介していきます。いくつか例を挙げますので、簡単なものから覚えていきましょう。
Visualforceページで使ってみよう
今回は、Visualforceページへアクセスする場合のURLFOR関数の使用例を確認していきます。
まずは、単純にVisualforceページへアクセスするための記述です。Salesforce組織に「TestPage」というVisualforceページが存在するとします。あるVisualforceページのボタン押下で「TestPage」へ遷移する例です。
<apex:commandButton value=”ボタン” action=”{!URLFOR($Page.TestPage)}”>
記載の通り「$Page」に続けて、アクセスしたいVisualforceページ名を入力します。
次に、Visualforceページへアクセスする際にパラメータを付与する場合の例になります。
<apex:commandButton value=”ボタン” action=”{!URLFOR($Page.TestPage)}?prm=abc” />
パラメータ名と値を{}外に記載し、付与します。
また、Visualforceページだけでなく、Salesforceの標準ページへのアクセスも可能です。「$Action」に続けて、オブジェクト名、遷移したい画面を指定、[id]部分にアクセスしたいレコードのIDを指定します。
<apex:outputLink value=”{!URLFOR($Action.Account.View, <レコードID>)}” />
上記では、取引先レコードの詳細画面へアクセスできます。
詳細画面以外への記載は以下の通りです。
タブ画面:Tab
新規画面:New
編集画面:Edit
いずれも「$Action.オブジェクト名.」の後に続けて記載します。
Visualforceページへのアクセス方法として、以下のような記述もあります。
{!URLFOR(‘/apex/TestPage’)}
Visualforceページにアクセスするだけでも、記述方法が複数あるので、使用時は確認して利用しましょう。
URLFOR関数を活用してみよう
URLFOR関数はSalesforce内の別ページやファイルへアクセスするために利用される関数です。
URLFOR関数の使い方も複数ありますので、今回ご紹介した以外の使用方法も活用してみてください。]]>