0

連絡先レコードに「Gift_c」というカスタムオブジェクトがあります。特定のフィールドを選択的に非表示にできるように、標準の「Gift_c」ページをvisualforceページ に置き換えたいと思います。

すべては非常に簡単です。

<apex:page standardController="Gift__c" showHeader="true"   >
<apex:form >      
<apex:pageBlock title="" mode="Edit">
    <apex:pageMessages />
    <apex:pageBlockButtons >
        <apex:commandButton value="Save" action="{!save}"/>
        <apex:commandButton value="Cancel" action="{!cancel}"/>               
    </apex:pageBlockButtons>
    <apex:pageBlockSection title="Basic Information" columns="1">
        <apex:inputField value="{!Gift__c.Contact__c}"/>
        <apex:inputField value="{!Gift__c.GiftAmount__c}"/>
    </apex:pageBlockSection>        
</apex:pageBlock>
</apex:form>

チャレンジ:

通常、連絡先を表示しているときに[新しいギフト]ボタンをクリックすると、Gift_cオブジェクトのContact_cフィールドに、私が来たばかりの人が入力されます。新しいVisualForceページでそれが引き続き発生することを確認するにはどうすればよいですか?

4

2 に答える 2

1

実際、この機能は、[新規/編集]ボタンをオーバーライドして新しいページを指す限り、すぐに使用できます。

オーバーライドボタン

于 2012-09-25T17:20:58.213 に答える
0

lkidハックとして知られているものがあります。親の値が関連リストの[新規]ボタンからGETパラメーターとして渡されるのは文書化されていない機能です。したがって、その方法でパラメータを抽出することもできますが、これは非常に薄っぺらな解決策であることが広く受け入れられています。

または、ここに非常に優れたソリューションが投稿されています:hack-to-find-field-ids-allows-a-default-ui-new-page-to-be-pre-populated

このソリューションは、ページのhtmlにあるすべてのlkid値の標準編集ページをスクリーンスクレイピングすることです。これがいつか機能しなくなる理由はたくさんありますが、getパラメーターをリバースエンジニアリングするよりもおそらく堅牢です。

于 2012-09-24T23:01:44.713 に答える