Salesforceおよびアプリケーション統合 > Salesforceのカスタマイズ > Salesforceページのカスタマイズと作成
  

Salesforceページのカスタマイズと作成

Visualforceページの定義は、ほとんどの一般的なSalesforceオブジェクトに使用できます。一方、ガイドを起動する他のオブジェクトを使用することも、独自のオブジェクトを作成することもできます。このトピックでは、Visualforceページを作成して使用する方法について説明します。この例では、CampaignMemberオブジェクトを使用します。このプロセスは簡単で、3つの手順のみが含まれています。Salesforce APIのバージョン27を使用している場合は、このトピックの最後にある注をお読みください。
:このセクションでは、そこに示されている詳細の一部を省略しているので、より完全な説明については Salesforceページへのガイド領域の追加 を参照してください。
  1. 1Campaign Member Sales Visualforceページを作成します。追加するマークアップは次のとおりです。
  2. <apex:page standardController="CampaignMember">
    <icrt:AeSalesGuides objectType="CampaignMember" objectId="{!CampaignMember.Id}"/>
    </apex:page>
    Salesforceページのカスタマイズ
  3. 2Visualforceページを保存したら、Campaign Memberのページレイアウトを編集します。
  4. Campaign Memberのページレイアウト
  5. 3新しいページをページレイアウトのセクションに追加します。
  6. Campaign Memberのページレイアウト、新しいページの追加
Salesforce APIのバージョン27
Salesforce APIのバージョン27を使用していて、次のようなコードを使用して、 AeSalesGuides Visualforceコンポーネントを埋め込むVisualforceページを作成している場合は、
<apex:page standardController="Account">
<c:AeSalesGuides objectType="Account" objectId="..."/>
</apex:page>
Salesforceは、次のエラーを表示します。
Error: <apex:attribute assignTo> cannot be same as the <apex:attribute name> ( objectId )
このエラーにより、ガイドのある新しいSalesforceページを作成できなくなります。
次は http://salesforce-walker.blogspot.com/2013/02/sprin-13-release-notes-in-visualforce.htmlからコピーされます。
カスタムコンポーネントの属性名のコンパイル時チェックは、次の通りです。
Spring '13リリースには、カスタムVisualforceコンポーネント属性に、assignTo値と同じ名前を付けないようにする新しいコンパイル時チェックがあります(コンポーネントのコントローラーのプロパティまたはメソッドを参照できます)。このチェックにより、ランタイムエラーを引き起こす可能性のある多くのプログラミングエラー(バグ)が防止されます。この変更はバージョン管理されているため、新しい動作を有効にするには、Visualforceコンポーネントとそれらを含むページをAPIバージョン27.0に更新する必要があります。以前は、 assignTo 値と同じ名前の属性を持つカスタムコンポーネントを作成できました。
次に例を示します。
<apex:component>
<apex:attribute name="currentpagename" type="string"
assignTo="{!currentpagename}"
description="This component can't be saved."/>
このコンポーネントは許可されなくなりました。
</apex:component>
Force.com Visualforce:
このコンポーネントをAPIバージョン27.0でコンパイルするには、属性名またはassignTo値を変更します(コントローラーのメソッドまたはプロパティも変更する必要がある場合があります)。次に例を示します。
<apex:component>
<apex:attribute name="thepagename" type="string"
assignTo="{!currentpagename}"
description="This component saves just fine."/>
This component is OK!
</apex:component>
:新しいコンパイル時チェックを有効にするには、両方のコンポーネントとそれらが表示されるページを、APIバージョン27.0に更新する必要があります。