こんにちは、管理人の@Salesforce.Zです。
Salesforceは、URLとそのパラメータを指定するだけで、様々な画面を表示できます。
代表的な画面のURLとそのパラメータをメモします。
目次
VFのリダイレクト
代表的な画面のURL
- ベースURL
以降のURLでは、ベースURLは省略して表記します。
例)/home/home.jsp ⇒ https://na7.salesforce.com/home/home.jsp
SalesforceのURLは基本下記になります。
↓↓↓
https://<インスタンス名>.salesforce.com
# | 画面 | URL |
---|---|---|
1 | ホーム | /home/home.jsp |
2 | すべてのタブ画面 | /home/showAllTabs.jsp |
3 | 高度な検索画面 | /search/AdvancedSearch |
4 | 設定画面 | /ui/setup/Setup |
5 | システムログ画面 | /_ui/common/apex/debug/ApexCSIPage |
6 | ヘルプ画面 | /help/doc/user_ed.jsp |
7 | タブ画面 | /<オブジェクトPrefix>/o (URLFOR($Action.<オブジェクト名>.Tab) でURL作成可) |
8 | 新規画面 | /<オブジェクトPrefix>/e (URLFOR($Action.<オブジェクト名>.New) でURL作成可) |
9 | 詳細画面 | /<レコードID> (URLFOR($Action.<オブジェクト名>.View, <レコードID>) でURL作成可) |
10 | 編集画面 | /<レコードID>/e (URLFOR($Action.<オブジェクト名>.Edit, <レコードID>) でURL作成可) |
11 | Visualforceページ | /apex/<Visualforceページ名> |
12 | ファイルダウンロード画面 | https://c.<インスタンス名>.content.force.com/servlet/servlet.FileDownload?file=<ファイルID> |
標準オブジェクトPrefix
# | オブジェクト名 | オブジェクトPrefix |
---|---|---|
1 | レポート | 00O(ゼロゼロオー) |
2 | 取引先 | 001 |
3 | 取引先責任者 | 003 |
4 | ユーザ | 005 |
5 | 商談 | 006 |
6 | ドキュメント | 015 |
7 | ケース | 500 |
8 | ソリューション | 501 |
9 | 契約 | 800 |
10 | リード | 00Q |
11 | ダッシュボード | 01Z |
オブジェクトのPrefixをもっと見たい場合別の記事標準オブジェクトのAPI参照名一覧に細かく記載しています
VFのダイレクトサンプル
<apex:page id="pgid" docType="html-5.0"> <head> <title>Blog</title> <!-- CSS --> <style type="text/css"> </style> <!--JavaScript--> <script type="text/javascript"> </script> </head> <body> <apex:form id="formid"> <apex:pageBlock title="ダイレクトボタン群"> <apex:pageblockSection > <apex:commandButton value="HOME" action="{!URLFOR('/home/home.jsp')}" /> <apex:commandButton value="ダイレクトしたいページへ" action="{!URLFOR($Page.PageName)}" /> <apex:commandButton value="パラメータでダイレクトしたいページへ" action="{!URLFOR($Page.PageName)}?prm=xxx" /> <!-- For this example to render fully, associate the page with a valid contact record in the URL. For example: https://Salesforce_instance/apex/myPage?id=001D000000IRt53 --> <apex:page standardController="Contact"> <apex:outputLink value="http://google.com/search"> <!--Search Google--> <apex:param name="q" value="{!contact.name}"/> </apex:outputLink> </apex:page> </apex:pageblockSection> </apex:pageBlock> </apex:form> </body> </apex:page>
最後に
パラメータでダイレクトする場合、シンプルの場合もある、複雑の場合もある
例えば、複数のパラメータが必要な時に、その構成はVF側で実装するかAPEX側で実装するか
どっちも可能だが、必要に応じて、やりましょう。
パラメータを結合する時に少し工夫ですね。頑張りましょう。あきらめずに試行錯誤しようね^^