首先我们来看一下 Case.Link
的描述,Case.Link
可以返回 Case 在 Salesforce 内部访问的 URL,无论这条记录是在 Sandbox 还是在 Production,它都可以返回正确的访问地址。
第一步:创建一个文本 Email Template, 并把 {!Case.Link}
加到这个 Email Template 中。如下图所示:
测试结果如下所示:
第二步: 创建一个 Visualforce Email Template,如下图所示:
接下来在 Visualforce Email Template 上单击 Edit Template Button。因为 Link 不是 Case 对象上的一个 Field, 因此我们无法在 Visualforce Email Template
中使用 Case.Link
,但是我们可以用下面的代码来替代:
{!LEFT($Api.Partner_Server_URL_290,
FIND('services', $Api.Partner_Server_URL_290) - 1)}{!relatedTo.Id}
代码解释如下:
在这里 relatedTo
指的就是 Case 本身,并且 Partner_Server_URL_290
可以获取 Partner Service URL
。代码中的290,代表了使用的 API 版本是29.0。
VF Email Template 完整代码如下:
<messaging:emailTemplate subject="Test Case Link" recipientType="Contact" relatedToType="Case">
<messaging:plainTextEmailBody >
Here is the Case URL:
{!LEFT($Api.Partner_Server_URL_290,FIND('services',$Api.Partner_Server_URL_290)-1)}{!relatedTo.Id}
</messaging:plainTextEmailBody>
</messaging:emailTemplate>
效果如下:
结语
如果大家有兴趣的话可以了解一下 Salesforce 中其它一些比较有用的且隐藏比较深的关键词,例如 Community_Url。