2017-02-24 6 views
0

REST APIを使用して、Javaコードを使用してsalesforceにアクセスしています。私のsalesforceアカウントには「エンティティ」タブがあります。このタブページ内にカスタムページブロックを配置して、salesforceにロードしたpngイメージを表示する必要があります。Salesforceのエンティティタブにカスタムページブロックを作成

私は、カスタムページは、Visualforceマークアップ言語とSalesforceで見られる標準オブジェクトからのデータにアクセス頂点クラスを介して作成することができることを知っています。しかし、これらは完全に新しいページを作成するためのものですが、「エンティティ」タブページ用のカスタムページブロックを追加する必要があります。

私は自分の画像を表示するために私の新しいセクションを追加するには、 'エンティティのタブのVisualforceマークアップを編集することができます。もしそうなら、どうやって?これを達成するためのより良い方法はありますか?

私は、ウェブ上でこのトピックに関するドキュメントのほとんどを経ています。しかし、これは私を完全に混乱させている。

答えて

1

エンティティ]タブには、実際にアカウントの標準オブジェクトの表現です。私の要件は、任意のアカウント名をクリックするとカスタムの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ページにリンクします。保存し、クライアント/アカウントタブをクリックします。任意のアカウント名をクリックすると、イメージはカスタムページブロックとして表示されます。

私はこれを読んで、人々はすでに、Visualforceページを作成するために必要とされるのSalesforceの基礎とfimiliar頂点クラスとアカウント]タブでリンクを上書きすると仮定しています。ていない人のために

、助けのための標準的なドキュメントやGoogleを参照してください。これは、これで立ち往生している人に役立ちます。

関連する問題