Loading
透過按一下而非程式碼擴充 Salesforce
建置有效的自訂 URL 按鈕與連結

建置有效的自訂 URL 按鈕與連結

使用這些方法建置有效的自訂 URL 按鈕與連結。

必要版本

提供版本:Salesforce Classic

自訂按鈕和連結適用於下列版本:所有版本

Visualforce 頁面及 S-Control 可用於:Contact Manager、Group、Professional、Enterprise、Performance、Unlimited 及 Developer Edition

使用合併欄位來傳送 Salesforce 資料

例如,您可以建立自訂連結,以在 Google 搜尋帳戶名稱或在地圖上查詢地址。

http://google.com/search?q={!Account.Name}
http://maps.google.com?q={!Account.ShippingStreet} {!Account.ShippingCity} {!Account.ShippingState} {!Account.ShippingPostalCode}
備註
備註 自訂連結不支援資料類型轉換。當建立自訂連結以將某個 Salesforce 欄位的資料傳送至另一個時,該資料必須符合您所要放入欄位的資料類型。例如,如果您有數字資料,即必須將其傳送至數字欄位。

用符號替代某些字元

替代特定字元的符號或使用 URLENCODE()。

由於全球資訊網協會 (W3C ) 的 URL 編碼標準,某些不安全的字元 (例如空格和標點符號) 無法透過 URL 傳送。自訂按鈕和連結會逸出這些字元,因此您不需要使用 URL 將其編碼。

如果您必須對 URL 進行編碼,請在合併欄位中使用 URLENCODE() 函數,如下所示:{!URLENCODE(text)},將 文字 取代為您要編碼的合併欄位或文字字串。

例如:如果合併欄位 foo__c 包含 <B>Mark's page<b>,則 {!URLENCODE(foo_c)} 會產生:%3CB%3EMark%27s%20page%3C%2Fb%3E.

連結至 Visualforce 頁面

若要連結至 Visualforce 頁面,請使用具有頁面相對路徑的 URLFOR(),其為 /apex/PageName。例如,要連結至與記錄無關聯且稱為 MissionList 的 Visualforce 頁面,請使用以下語法。

{! URLFOR( “/apex/MissionList” ) }

當您將 URLFOR() 與 Visualforce 頁面搭配使用,且想要將記錄識別碼傳送至頁面時,必須將識別碼傳入為參數。

{! URLFOR( “/apex/Mission”, null, [id=Mission__c.Id] ) }

指向 Salesforce 頁面

使用 $Action 全域變數和 URLFOR() 以指向 Salesforce 頁面。

建立指向 Salesforce 中頁面的自訂按鈕或連結時,請使用 $Action 全域變數建構連結,而非貼上頁面的路徑。之後如果您的組織移至另一個伺服器或頁面的 URL 出現變動,連結仍會指向正確位置。

若要建構連結,請使用具有 $Action 變數的 URLFOR() 公式函數。

{!URLFOR( $Action.Case.NewCase, Account.Id )}

這個在「帳戶」物件上的自訂連結會開啟「新增個案」表單,將個案建立為帳戶記錄的子系。您可以將此程序用於有「帳戶」物件對應的任何物件。若要建立不是另一個記錄的子系記錄,或如果兩個物件沒有關係,請使用 $ObjectType.ObjectName 作為第二個引數。例如:

{!URLFOR( $Action.Case.NewCase, $ObjectType.Case )}

$Action 全域變數預期記錄識別碼或 $ObjectType。例如,這些公式會針對某個帳戶個別建立索引標籤和詳細資料頁的連結。

{!URLFOR( $Action.Account.Tab, $ObjectType.Account )}
{!URLFOR( $Action.Account.View, Some_Account_Lookup__c.Id )}

URLFOR() 函數會採用作為查詢字串參數傳送至目的地的其他選擇性引數。當覆寫包含 Visualforce 頁面的標準動作時,您可以使用這些引數傳入 Visualforce 頁面或其控制項需要的其他參數。例如,當您在結束個案時若想要將個案自訂欄位的值從「實際到貨日期」變更為今日,您可以使用:

{!URLFOR($Action.Case.CloseCase, Case.Id, [ actualDeliveryDate=TODAY()] )}

接著您可以覆寫包含 Visualforce 頁面的「結束個案」動作,並處理設定在該 Visualforce 頁面或其控制項中「實際到貨日期」欄位的值。請參閱使用 Visualforce 頁面中的查詢字串參數以取得詳細資訊。

指向 Lightning Experience 中的其他頁面

使用這些 Lightning 適用的 URL 按鈕及連結方法來指向其他 Lightning Experience 中的頁面。

自訂 URL 按鈕或連結 Lightning Experience 行為

外部 URL

www.google.com
URL 會在新索引標籤中開啟

相對 Salesforce URL,檢視

/{!Account.Id}
記錄首頁會在現有索引標籤中開啟

相對 Salesforce URL,編輯

/{!Account.Id}/e
編輯重疊會在現有頁面上快顯

相對 Salesforce URL,清單

/001/o
物件首頁會在現有索引標籤中開啟

$Action URL,檢視

{!URLFOR($Action.Account.View, Account.Id)}
記錄首頁會在現有索引標籤中開啟

$Action URL,編輯

{!URLFOR($Action.Account.Edit, Account.Id)}
編輯重疊會在現有頁面上快顯
備註
備註 在 Salesforce 行動應用程式中無法使用 URL 自訂按鈕將參數傳遞至 Salesforce Classic 中的標準頁面 (例如在建立記錄時預先填入欄位)。
 
正在載入
Salesforce Help | Article