在Salesforce的实体选项卡中创建自定义页面块

时间:2017-02-24 10:15:20

标签: java rest api salesforce visualforce

我使用REST API使用java代码访问salesforce。我的salesforce帐户中有一个“实体”标签。我需要在此标签页中放置一个自定义页面块,以显示我已加载到salesforce的png图像。

我知道可以通过visualforce标记语言和apex类创建自定义页面,这些类可以访问salesforce中的标准对象中的数据。但这些是用于创建全新页面,而我需要为“实体”标签页添加自定义页面块。

我可以编辑“实体”标签的visualforce标记,以添加我的新部分以显示我的图像。如果是的话。有没有更好的方法来实现这一点。

我在网上浏览了大部分有关此主题的文件。但这让我完全糊涂了。

1 个答案:

答案 0 :(得分:1)

实体选项卡实际上是Accounts标准对象的表示。我的要求是在点击任何帐户名称时调用自定义的visualforce页面。

这就是我为满足这一要求所做的工作。我使用以下代码创建了一个visualforce页面: -

<apex:page standardController="Account" extensions="AccountImageController">
<apex:pageBlock title="BluePrint Image">
    <apex:form >
        <apex:image url="/servlet/servlet.FileDownload?file={!FileId}"/>
    </apex:form>
</apex:pageBlock>
<apex:detail />

这基本上会显示我作为附件上传到某些帐户的图片。正如您所看到的,它引用了一个类似于此的顶点类。

Public Class AccountImageController {

String recId;

public AccountImageController(ApexPages.StandardController controller) {
    recId = controller.getId();    
}

public String getFileId() {
    String fileId = '';
    List<Attachment> attachedFiles = [select Id from Attachment where parentId =:recId order By LastModifiedDate DESC limit 1];
    if( attachedFiles != null && attachedFiles.size() > 0 ) {
        fileId = attachedFiles[0].Id;
    }
    return fileId;    
}

}

现在我覆盖帐户标准对象的链接,并将其链接到上面的visualforce页面。保存并单击客户端/帐户选项卡。单击任何帐户名称,图像将显示为自定义页面块。

我认为读这篇文章的人已经熟悉了salesforce的基础知识,这是创建visualforce页面,顶点类和覆盖帐户标签中的链接所必需的。

对于那些没有的人,请参阅标准文档或谷歌寻求帮助。希望这能帮助那些坚持这一点的人。