我使用REST API使用java代码访问salesforce。我的salesforce帐户中有一个“实体”标签。我需要在此标签页中放置一个自定义页面块,以显示我已加载到salesforce的png图像。
我知道可以通过visualforce标记语言和apex类创建自定义页面,这些类可以访问salesforce中的标准对象中的数据。但这些是用于创建全新页面,而我需要为“实体”标签页添加自定义页面块。
我可以编辑“实体”标签的visualforce标记,以添加我的新部分以显示我的图像。如果是的话。有没有更好的方法来实现这一点。
我在网上浏览了大部分有关此主题的文件。但这让我完全糊涂了。
答案 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页面,顶点类和覆盖帐户标签中的链接所必需的。
对于那些没有的人,请参阅标准文档或谷歌寻求帮助。希望这能帮助那些坚持这一点的人。